mesurer-solid 0.2.0-beta.11 → 0.2.0-beta.13
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 +8 -13
- package/README.md +7 -20
- package/dist/index.d.ts +3 -3
- package/dist/index.js +470 -372
- package/dist/inject-script.js +13 -7
- package/dist/inject.js +476 -378
- package/dist/plugin-catalog.d.ts +5 -1
- package/dist/{codex-plugin.d.ts → plugins/codex/index.d.ts} +17 -19
- package/dist/plugins.d.ts +3 -3
- package/dist/plugins.js +772 -686
- package/package.json +8 -9
- package/plugins/codex/bridge.d.ts +63 -0
- package/plugins/codex/bridge.mjs +1304 -0
- package/plugins/codex/desktop.mjs +155 -0
- package/scripts/install-skill.mjs +1 -10
- package/skills/mesurer-ui/SKILL.md +12 -29
- package/codex/codex-bridge.mjs +0 -2037
- package/codex/codex-connect.mjs +0 -324
- package/codex/codex-lifecycle.mjs +0 -51
- package/scripts/codex-bridge.mjs +0 -2
- package/scripts/codex-connect.mjs +0 -2
- package/scripts/codex-lifecycle.mjs +0 -2
package/dist/plugins.js
CHANGED
|
@@ -42,7 +42,7 @@ function h(e) {
|
|
|
42
42
|
}
|
|
43
43
|
function g(e) {
|
|
44
44
|
if (_(e) && e.sn) {
|
|
45
|
-
let t = e.sn =
|
|
45
|
+
let t = e.sn = le(e.sn);
|
|
46
46
|
if (t.fn !== !0) return t;
|
|
47
47
|
e.sn = null;
|
|
48
48
|
}
|
|
@@ -80,7 +80,7 @@ var y = /* @__PURE__ */ new Set(), b = {
|
|
|
80
80
|
EE: 0
|
|
81
81
|
};
|
|
82
82
|
function S(e) {
|
|
83
|
-
e.se & 16 ? e.se &= -12 : (
|
|
83
|
+
e.se & 16 ? e.se &= -12 : (ge(e, x), e.se &= -4);
|
|
84
84
|
}
|
|
85
85
|
var C = 0, w = null, T = !1, E = !1, D = !1, O = 0, k = /* @__PURE__ */ new Set();
|
|
86
86
|
function A(e) {
|
|
@@ -127,10 +127,10 @@ function N(e, t) {
|
|
|
127
127
|
}
|
|
128
128
|
function P() {
|
|
129
129
|
if (E) {
|
|
130
|
-
|
|
130
|
+
F();
|
|
131
131
|
return;
|
|
132
132
|
}
|
|
133
|
-
T || (T = !0, !O && !
|
|
133
|
+
T || (T = !0, !O && !U.gt && queueMicrotask(W));
|
|
134
134
|
}
|
|
135
135
|
function ee(e) {
|
|
136
136
|
if (E) return;
|
|
@@ -138,10 +138,10 @@ function ee(e) {
|
|
|
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 = [];
|
|
@@ -160,9 +160,9 @@ var ne = 0, F = class {
|
|
|
160
160
|
run(e) {
|
|
161
161
|
if (this.bt[e - 1].length) {
|
|
162
162
|
let t = this.bt[e - 1];
|
|
163
|
-
this.bt[e - 1] = [],
|
|
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;
|
|
@@ -232,17 +232,17 @@ var ne = 0, F = class {
|
|
|
232
232
|
this.gt = !0;
|
|
233
233
|
try {
|
|
234
234
|
if (ye(b, e.Ce), w) {
|
|
235
|
-
if (!
|
|
235
|
+
if (!ce(w)) {
|
|
236
236
|
let t = w;
|
|
237
|
-
ye(x, this.m === t ? S : e.Ce), this.m === t && (
|
|
237
|
+
ye(x, this.m === t ? S : e.Ce), this.m === t && (ae = this.m = M()), f.size && (e.In(1), e.In(2)), this.stashQueues(t.yt), C++, T = b.EE >= b.Ve || this.m.Qt.length > 0, ie(t.Qt), w = null, ne(null, !0);
|
|
238
238
|
return;
|
|
239
239
|
}
|
|
240
240
|
let t = w, n = this.m;
|
|
241
|
-
if (n !== t && n.Qt.push(...t.Qt), this.restoreQueues(t.yt), y.delete(t), w = null,
|
|
241
|
+
if (n !== t && n.Qt.push(...t.Qt), this.restoreQueues(t.yt), y.delete(t), w = null, ie(n.Qt), ne(t), n === t) {
|
|
242
242
|
let e = M();
|
|
243
|
-
e.Qt = n.Qt, e.Me = n.Me, e.A = n.A, e.cn = n.cn,
|
|
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) ? (H(), b.EE >= b.Ve && (ye(b, e.Ce), H())) : (y.size && ye(x, e.Ce), ne());
|
|
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;
|
|
@@ -266,7 +266,7 @@ var ne = 0, F = class {
|
|
|
266
266
|
return !1;
|
|
267
267
|
}
|
|
268
268
|
initTransition(e) {
|
|
269
|
-
if (e &&=
|
|
269
|
+
if (e &&= le(e), e && e === w || !e && w && w.de === C) return;
|
|
270
270
|
if (!w) w = e ?? M();
|
|
271
271
|
else if (e) {
|
|
272
272
|
let t = w;
|
|
@@ -289,78 +289,78 @@ var ne = 0, F = class {
|
|
|
289
289
|
for (let e of t.ln) w.ln.add(e);
|
|
290
290
|
t.ln.clear();
|
|
291
291
|
}
|
|
292
|
-
|
|
292
|
+
ae = this.m = w;
|
|
293
293
|
}
|
|
294
294
|
for (let e of f) e.Ne ||= w;
|
|
295
295
|
}
|
|
296
296
|
};
|
|
297
|
-
function
|
|
298
|
-
|
|
297
|
+
function R(e) {
|
|
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;
|
|
306
306
|
continue;
|
|
307
307
|
}
|
|
308
|
-
t && n ? (o.fe.se |= 128, v(o.fe, n)) : t && (o.fe.se |= 128, o.fe.Ke = void 0),
|
|
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
|
|
320
|
-
let e =
|
|
321
|
-
for (let t = 0; t < e.length; t++)
|
|
319
|
+
function H() {
|
|
320
|
+
let e = ae.Qt;
|
|
321
|
+
for (let t = 0; t < e.length; t++) V(e[t]);
|
|
322
322
|
e.length = 0;
|
|
323
323
|
}
|
|
324
|
-
function
|
|
324
|
+
function ne(e = null, t = !1) {
|
|
325
325
|
let n = !t;
|
|
326
|
-
n &&
|
|
326
|
+
n && H(), !t && U.vt.length && re(U);
|
|
327
327
|
let r = b.EE >= b.Ve;
|
|
328
|
-
if (r && ye(b,
|
|
329
|
-
r &&
|
|
330
|
-
let t = e ??
|
|
331
|
-
if (t.Me.length &&
|
|
332
|
-
for (let e of t.ln) e.se & 64 ||
|
|
328
|
+
if (r && ye(b, L.Ce), n) {
|
|
329
|
+
r && H();
|
|
330
|
+
let t = e ?? U.m;
|
|
331
|
+
if (t.Me.length && L.En(t.Me), t.ln.size) {
|
|
332
|
+
for (let e of t.ln) e.se & 64 || fe(e);
|
|
333
333
|
t.ln.clear(), P();
|
|
334
334
|
}
|
|
335
|
-
t.A.length && (
|
|
335
|
+
t.A.length && (L.G(t.A), U.vt.length && re(U)), t.cn.size && L.Dt(t.cn, e), j(), f.size && L.dn(e);
|
|
336
336
|
}
|
|
337
337
|
}
|
|
338
|
-
function
|
|
339
|
-
for (let t of e.vt) t.ne?.(),
|
|
338
|
+
function re(e) {
|
|
339
|
+
for (let t of e.vt) t.ne?.(), re(t);
|
|
340
340
|
}
|
|
341
|
-
function
|
|
341
|
+
function ie(e) {
|
|
342
342
|
for (let t = 0; t < e.length; t++) e[t].Ne = w;
|
|
343
343
|
}
|
|
344
|
-
var
|
|
345
|
-
function
|
|
344
|
+
var U = new L(), ae = U.m;
|
|
345
|
+
function W(e) {
|
|
346
346
|
if (e) {
|
|
347
347
|
O++;
|
|
348
348
|
try {
|
|
349
349
|
return e();
|
|
350
350
|
} finally {
|
|
351
351
|
try {
|
|
352
|
-
|
|
352
|
+
W();
|
|
353
353
|
} finally {
|
|
354
354
|
O--;
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
if (!
|
|
358
|
+
if (!U.gt && !E) for (; T || w;) U.flush();
|
|
359
359
|
}
|
|
360
|
-
function
|
|
360
|
+
function oe(e, t) {
|
|
361
361
|
for (let n = 0; n < e.length; n++) e[n](t);
|
|
362
362
|
}
|
|
363
|
-
function
|
|
363
|
+
function se(t, n) {
|
|
364
364
|
if (t.se & 96) return !1;
|
|
365
365
|
if (t.oe?.has(n)) return !0;
|
|
366
366
|
for (let e = t.tt; e; e = e.nt) {
|
|
@@ -372,14 +372,14 @@ function ce(t, n) {
|
|
|
372
372
|
}
|
|
373
373
|
return !!(t.S & 1 && t._ instanceof e && t._.source === n);
|
|
374
374
|
}
|
|
375
|
-
function
|
|
375
|
+
function ce(e) {
|
|
376
376
|
if (e.fn) return !0;
|
|
377
377
|
if (e.ie.length) return !1;
|
|
378
378
|
let t = !0;
|
|
379
379
|
for (let [n, r] of e.Ie) {
|
|
380
380
|
let i = !1;
|
|
381
381
|
for (let e of r) {
|
|
382
|
-
if (
|
|
382
|
+
if (se(e, n)) {
|
|
383
383
|
i = !0;
|
|
384
384
|
break;
|
|
385
385
|
}
|
|
@@ -391,35 +391,35 @@ function le(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
|
-
function
|
|
396
|
+
function le(e) {
|
|
397
397
|
for (; e.fn && typeof e.fn == "object";) e = e.fn;
|
|
398
398
|
return e;
|
|
399
399
|
}
|
|
400
|
-
function
|
|
400
|
+
function ue(e, t) {
|
|
401
401
|
let n = w;
|
|
402
402
|
try {
|
|
403
|
-
return w =
|
|
403
|
+
return w = le(e), t();
|
|
404
404
|
} finally {
|
|
405
405
|
w = n;
|
|
406
406
|
}
|
|
407
407
|
}
|
|
408
408
|
//#endregion
|
|
409
409
|
//#region ../../node_modules/.bun/@solidjs+signals@2.0.0-rc.0/node_modules/@solidjs/signals/dist/prod/core/heap.js
|
|
410
|
-
function
|
|
410
|
+
function de(e) {
|
|
411
411
|
return e.se & 32 ? x : b;
|
|
412
412
|
}
|
|
413
|
-
function
|
|
413
|
+
function fe(e) {
|
|
414
414
|
if (e.Re === 3) {
|
|
415
415
|
let t = e;
|
|
416
416
|
t.Je || (t.Je = !0, t.C.enqueue(2, t.Ft));
|
|
417
417
|
return;
|
|
418
418
|
}
|
|
419
|
-
let t =
|
|
420
|
-
t.Ve > e.xe && (t.Ve = e.xe),
|
|
419
|
+
let t = de(e);
|
|
420
|
+
t.Ve > e.xe && (t.Ve = e.xe), me(e, t);
|
|
421
421
|
}
|
|
422
|
-
function
|
|
422
|
+
function pe(e, t) {
|
|
423
423
|
let n = (e.ke?.Nt ? e.ke.dt?.xe : e.ke?.xe) ?? -1;
|
|
424
424
|
n >= e.xe && (e.xe = n + 1);
|
|
425
425
|
let r = e.xe, i = t.eE[r];
|
|
@@ -430,15 +430,15 @@ function me(e, t) {
|
|
|
430
430
|
}
|
|
431
431
|
r > t.EE && (t.EE = r);
|
|
432
432
|
}
|
|
433
|
-
function
|
|
433
|
+
function me(e, t) {
|
|
434
434
|
let n = e.se;
|
|
435
|
-
n & 1036 || (n & 1 ? e.se = n & -4 | 10 : (e.se = n | 8, t.tE && !(n & 2) && (t.tE = !1)), n & 16 ||
|
|
435
|
+
n & 1036 || (n & 1 ? e.se = n & -4 | 10 : (e.se = n | 8, t.tE && !(n & 2) && (t.tE = !1)), n & 16 || pe(e, t));
|
|
436
436
|
}
|
|
437
|
-
function
|
|
437
|
+
function he(e, t) {
|
|
438
438
|
let n = e.se;
|
|
439
|
-
n & 1052 || (e.se = n | 16,
|
|
439
|
+
n & 1052 || (e.se = n | 16, pe(e, t));
|
|
440
440
|
}
|
|
441
|
-
function
|
|
441
|
+
function ge(e, t) {
|
|
442
442
|
let n = e.se;
|
|
443
443
|
if (!(n & 24)) return;
|
|
444
444
|
e.se = n & -25;
|
|
@@ -450,7 +450,7 @@ function _e(e, t) {
|
|
|
450
450
|
}
|
|
451
451
|
e.st = e, e.ot = void 0;
|
|
452
452
|
}
|
|
453
|
-
function
|
|
453
|
+
function _e(e) {
|
|
454
454
|
if (!e.tE) {
|
|
455
455
|
e.tE = !0;
|
|
456
456
|
for (let t = 0; t <= e.EE; t++) for (let n = e.eE[t]; n !== void 0; n = n.ot) n.se & 8 && ve(n);
|
|
@@ -472,7 +472,7 @@ function ye(e, t) {
|
|
|
472
472
|
e.EE = 0;
|
|
473
473
|
}
|
|
474
474
|
function be(e, t) {
|
|
475
|
-
|
|
475
|
+
ge(e, t);
|
|
476
476
|
let n = e.xe;
|
|
477
477
|
for (let t = e.tt; t; t = t.nt) {
|
|
478
478
|
let e = t.it, r = e.lt || e;
|
|
@@ -480,7 +480,7 @@ function be(e, t) {
|
|
|
480
480
|
}
|
|
481
481
|
if (e.xe !== n) {
|
|
482
482
|
e.xe = n;
|
|
483
|
-
for (let t = e.o; t !== null; t = t.le)
|
|
483
|
+
for (let t = e.o; t !== null; t = t.le) he(t.fe, de(t.fe));
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
486
|
//#endregion
|
|
@@ -489,7 +489,7 @@ function xe(e) {
|
|
|
489
489
|
let t = e.Fe;
|
|
490
490
|
for (; t;) {
|
|
491
491
|
let e = t.se;
|
|
492
|
-
t.se = e | 32, e & 24 && (
|
|
492
|
+
t.se = e | 32, e & 24 && (ge(t, e & 32 ? x : b), e & 8 ? me(t, x) : he(t, x)), xe(t), t = t.He;
|
|
493
493
|
}
|
|
494
494
|
}
|
|
495
495
|
function Se(e, t = !1, n) {
|
|
@@ -498,13 +498,13 @@ 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;
|
|
505
505
|
for (; i;) {
|
|
506
506
|
let e = i.He, t = i;
|
|
507
|
-
if (t.se & 24 &&
|
|
507
|
+
if (t.se & 24 && ge(t, de(t)), t.tt) {
|
|
508
508
|
let e = t.tt;
|
|
509
509
|
do
|
|
510
510
|
e = Ne(e);
|
|
@@ -568,7 +568,7 @@ function je(e) {
|
|
|
568
568
|
He: null,
|
|
569
569
|
ct: null,
|
|
570
570
|
ye: null,
|
|
571
|
-
C: t?.C ??
|
|
571
|
+
C: t?.C ?? U,
|
|
572
572
|
we: t?.we || u,
|
|
573
573
|
qe: 0,
|
|
574
574
|
Qe: null,
|
|
@@ -608,7 +608,7 @@ function Pe(e) {
|
|
|
608
608
|
}
|
|
609
609
|
}
|
|
610
610
|
function Fe(e) {
|
|
611
|
-
|
|
611
|
+
ge(e, de(e));
|
|
612
612
|
let t = e.tt;
|
|
613
613
|
for (; t !== null;) t = Ne(t);
|
|
614
614
|
e.tt = null, e.Ye = null, Se(e, !0);
|
|
@@ -681,16 +681,16 @@ function We(e) {
|
|
|
681
681
|
}
|
|
682
682
|
function Ge(e, t) {
|
|
683
683
|
let n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
684
|
-
r.has(e) || (r.add(e), e._ === t && (
|
|
684
|
+
r.has(e) || (r.add(e), e._ === t && (fe(e), n = !0), He(e, i));
|
|
685
685
|
};
|
|
686
686
|
He(e, i), n && P();
|
|
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;
|
|
693
|
-
s ? (c || Ve(o, s), i !== null && i(o)) : (o.S &= -2, c || Ve(o), i !== null && i(o), o.ue && (
|
|
693
|
+
s ? (c || Ve(o, s), i !== null && i(o)) : (o.S &= -2, c || Ve(o), i !== null && i(o), o.ue && (fe(o), t = !0), o.ue = !1, !o.o && o.T & 32 && (n ??= []).push(o)), He(o, a);
|
|
694
694
|
};
|
|
695
695
|
if (He(e, a), n) for (let e of n) Ue(e);
|
|
696
696
|
t && P();
|
|
@@ -706,11 +706,11 @@ function Je(t, n, r) {
|
|
|
706
706
|
t.Te = n;
|
|
707
707
|
let s, c = () => {
|
|
708
708
|
let e = g(t);
|
|
709
|
-
if (e && t.S & 4 && !
|
|
709
|
+
if (e && t.S & 4 && !le(e).Ie.has(t)) {
|
|
710
710
|
t.Ne = null;
|
|
711
711
|
return;
|
|
712
712
|
}
|
|
713
|
-
|
|
713
|
+
U.initTransition(e);
|
|
714
714
|
}, l = (r) => {
|
|
715
715
|
if (t.Te !== n) return;
|
|
716
716
|
let i = r instanceof e;
|
|
@@ -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
|
}
|
|
@@ -739,7 +739,7 @@ function Je(t, n, r) {
|
|
|
739
739
|
} catch (e) {
|
|
740
740
|
Xe(t, 2, e);
|
|
741
741
|
}
|
|
742
|
-
t.De === o && (t.Ee = !1), Ke(t), P(),
|
|
742
|
+
t.De === o && (t.Ee = !1), Ke(t), P(), W(), i?.();
|
|
743
743
|
}, d = () => t.T & 32 && !t.o && !(t.S & 1) ? (Fe(t), !0) : !1;
|
|
744
744
|
if (a) {
|
|
745
745
|
let r = !1, i = !1, a, o = !0;
|
|
@@ -751,7 +751,7 @@ function Je(t, n, r) {
|
|
|
751
751
|
if (r) t.Ee = !1;
|
|
752
752
|
else {
|
|
753
753
|
if (t.Ee) return t.Ue;
|
|
754
|
-
throw
|
|
754
|
+
throw U.initTransition(g(t)), new e(G);
|
|
755
755
|
}
|
|
756
756
|
}
|
|
757
757
|
if (i) {
|
|
@@ -772,7 +772,7 @@ function Je(t, n, r) {
|
|
|
772
772
|
if ((qe(_) ? _ : { then: (e) => void e(_) }).then((r) => {
|
|
773
773
|
if (g && o) e = r, m = !0, r.done && (a = !0);
|
|
774
774
|
else if (t.Te !== n) return;
|
|
775
|
-
else r.done ? (a = !0, i ? (P(),
|
|
775
|
+
else r.done ? (a = !0, i ? (P(), W()) : u(void 0), d()) : (i = !0, u(r.value, c));
|
|
776
776
|
}, (e) => {
|
|
777
777
|
g ? (p = e, h = !0) : t.Te === n && (a = !0, l(e), d());
|
|
778
778
|
}), g = !1, h) {
|
|
@@ -783,19 +783,19 @@ function Je(t, n, r) {
|
|
|
783
783
|
}, p = f();
|
|
784
784
|
if (o = !1, !i && !p) {
|
|
785
785
|
if (t.Ee) return t.Ue;
|
|
786
|
-
throw
|
|
786
|
+
throw U.initTransition(g(t)), new e(G);
|
|
787
787
|
}
|
|
788
788
|
t.Ee = !1;
|
|
789
789
|
}
|
|
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;
|
|
@@ -805,28 +805,28 @@ function Xe(n, r, i, a, o) {
|
|
|
805
805
|
He(n, (t, n) => {
|
|
806
806
|
if (t.de = C, r === 1 && s && !t.oe?.has(s) || r !== 1 && (t._ !== i || t.oe)) {
|
|
807
807
|
if (n.Ge && r !== 1 && !(i instanceof e)) {
|
|
808
|
-
|
|
808
|
+
fe(t), P();
|
|
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;
|
|
819
|
-
n || (t.Ne && (!r || w) && w !== t.Ne &&
|
|
819
|
+
n || (t.Ne && (!r || w) && w !== t.Ne && U.initTransition(t.Ne), ge(t, de(t)), t.Te = null, t.Ne || r === 3 ? Se(t) : (t.Fe !== null || t.ye !== null) && (xe(t), t.Qe = t.ye, t.We = t.Fe, t.ye = null, t.Fe = null, t.qe = 0));
|
|
820
820
|
let i = !!(t.se & 128), l = t._e !== void 0 && t._e !== o, u = !!(t.S & 4), d = t.S & 2 ? t._ : void 0, f = (t.se & a) !== 0, p = t.Ee, m = G;
|
|
821
821
|
G = t, t.Ye = null, t.Ze++, t.se = 4, t.de = C;
|
|
822
822
|
let h = t.De === o ? t.Ue : t.De, g = t.xe, _ = Ze, v = tt;
|
|
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 &&
|
|
865
|
-
else if (t.xe != g) for (let e = t.o; e !== null; e = e.le)
|
|
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
|
+
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) {
|
|
@@ -882,7 +882,7 @@ function it(e, t) {
|
|
|
882
882
|
be: t?.equals == null ? lt : t.equals,
|
|
883
883
|
ut: t?.unobserved,
|
|
884
884
|
ye: null,
|
|
885
|
-
C: G?.C ??
|
|
885
|
+
C: G?.C ?? U,
|
|
886
886
|
we: G?.we ?? u,
|
|
887
887
|
qe: 0,
|
|
888
888
|
ce: e,
|
|
@@ -920,7 +920,7 @@ function at(e, t, n, r, i, a) {
|
|
|
920
920
|
be: !1,
|
|
921
921
|
ut: a?.unobserved,
|
|
922
922
|
ye: null,
|
|
923
|
-
C: G?.C ??
|
|
923
|
+
C: G?.C ?? U,
|
|
924
924
|
we: G?.we ?? u,
|
|
925
925
|
qe: 0,
|
|
926
926
|
ce: e,
|
|
@@ -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,20 +1000,20 @@ 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;
|
|
1007
1007
|
if (typeof n.ce == "function" && dt(e, !1), !n.ce && r === e && e._e === void 0 && e.Le === void 0 && w === null && tt === null) return t && Ze && Ie(e, t), !t || e.De === o ? e.Ue : e.De;
|
|
1008
1008
|
if (t && Ze && (Ie(e, t, $e), r.ce)) {
|
|
1009
|
-
let n =
|
|
1010
|
-
r.xe >= n.Ve && (ve(t),
|
|
1009
|
+
let n = de(e);
|
|
1010
|
+
r.xe >= n.Ve && (ve(t), _e(n), rt(r));
|
|
1011
1011
|
let i = r.xe;
|
|
1012
1012
|
i >= t.xe && e.ke !== t && (t.xe = i + 1);
|
|
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 &&
|
|
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), P(), t) : t;
|
|
1033
1033
|
}
|
|
1034
1034
|
function mt(e) {
|
|
1035
|
-
|
|
1035
|
+
ge(e, de(e)), !(e.se & 1024) && e.De === o && (R(e), P()), e.se = e.se & -4 | i;
|
|
1036
1036
|
}
|
|
1037
1037
|
function ht(e, t) {
|
|
1038
1038
|
let n = pt(e, t);
|
|
@@ -1100,7 +1100,7 @@ function xt(e) {
|
|
|
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) {
|
|
@@ -1685,7 +1685,7 @@ function Dn(e, t, n, r = {}) {
|
|
|
1685
1685
|
...r,
|
|
1686
1686
|
insertOptions: { schedule: !0 }
|
|
1687
1687
|
});
|
|
1688
|
-
return
|
|
1688
|
+
return W(), i;
|
|
1689
1689
|
} finally {}
|
|
1690
1690
|
}
|
|
1691
1691
|
//#endregion
|
|
@@ -1891,7 +1891,7 @@ function Pn(e) {
|
|
|
1891
1891
|
r = i;
|
|
1892
1892
|
let a = e();
|
|
1893
1893
|
n(t, () => a, void 0, void 0, { schedule: !0 });
|
|
1894
|
-
}),
|
|
1894
|
+
}), W(), r;
|
|
1895
1895
|
}
|
|
1896
1896
|
};
|
|
1897
1897
|
}
|
|
@@ -3222,19 +3222,19 @@ function Ca(e = {}, t = !1) {
|
|
|
3222
3222
|
}, N = () => {
|
|
3223
3223
|
let e = j();
|
|
3224
3224
|
g ??= ea(n, ga, _a), _ ??= na(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
|
|
3225
|
-
}, P = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), ee = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && P(e) && !e.closest("[data-mesurer-root], [data-mesurer-inspector-ui='true']"),
|
|
3225
|
+
}, P = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), ee = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && P(e) && !e.closest("[data-mesurer-root], [data-mesurer-inspector-ui='true']"), F = (e, t) => {
|
|
3226
3226
|
for (let i of n.elementsFromPoint(e, t)) {
|
|
3227
3227
|
if (Kr(i, r)) return null;
|
|
3228
3228
|
if (ee(i)) return i;
|
|
3229
3229
|
}
|
|
3230
3230
|
return null;
|
|
3231
|
-
},
|
|
3231
|
+
}, te = () => {
|
|
3232
3232
|
v = null, M(g, !1), M(_, !1);
|
|
3233
|
-
},
|
|
3233
|
+
}, I = (e, t, n) => {
|
|
3234
3234
|
if (!e || e.dataset.state !== "visible") return !1;
|
|
3235
3235
|
let r = e.getBoundingClientRect();
|
|
3236
3236
|
return t >= r.left && t <= r.right && n >= r.top && n <= r.bottom;
|
|
3237
|
-
},
|
|
3237
|
+
}, L = (e, t) => E.some((n) => I(n.card, e, t)), R = (t) => {
|
|
3238
3238
|
if (!m || !ee(t)) return !1;
|
|
3239
3239
|
N();
|
|
3240
3240
|
let i = t.getBoundingClientRect(), a = u.getFast(t);
|
|
@@ -3243,23 +3243,23 @@ function Ca(e = {}, t = !1) {
|
|
|
3243
3243
|
let i = u.getFull(t, a);
|
|
3244
3244
|
ra(n, _, i, !1), ia(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
|
|
3245
3245
|
}, 24), !0;
|
|
3246
|
-
},
|
|
3246
|
+
}, z = () => E.map((e) => ({
|
|
3247
3247
|
sourceEl: e.sourceEl,
|
|
3248
3248
|
left: e.userPlaced ? e.card.getBoundingClientRect().left + e.card.getBoundingClientRect().width / 2 : 0,
|
|
3249
3249
|
top: e.userPlaced ? e.card.getBoundingClientRect().top : 0,
|
|
3250
3250
|
userPlaced: e.userPlaced
|
|
3251
|
-
})),
|
|
3252
|
-
D.push(
|
|
3253
|
-
},
|
|
3251
|
+
})), B = () => {
|
|
3252
|
+
D.push(z()), D.length > 100 && D.shift(), O.length = 0;
|
|
3253
|
+
}, V = (t, n = !0, r = !0) => {
|
|
3254
3254
|
let i = E.indexOf(t);
|
|
3255
|
-
i < 0 || (n &&
|
|
3256
|
-
},
|
|
3257
|
-
for (; E.length;)
|
|
3258
|
-
},
|
|
3255
|
+
i < 0 || (n && B(), E.splice(i, 1), t.detach(), t.box.remove(), t.card.remove(), r && e.onUnpin?.(t.sourceEl));
|
|
3256
|
+
}, H = (e = !1) => {
|
|
3257
|
+
for (; E.length;) V(E[E.length - 1], !1, e);
|
|
3258
|
+
}, ne = (e) => {
|
|
3259
3259
|
let t = -1, n = 0, i = 0, a = 0, o = 0, s = !1, c = !1, l = (l) => {
|
|
3260
3260
|
if (l.pointerId !== t) return;
|
|
3261
3261
|
let u = l.clientX - n, d = l.clientY - i;
|
|
3262
|
-
!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 ||= (
|
|
3262
|
+
!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 ||= (B(), !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`);
|
|
3263
3263
|
}, u = (e) => {
|
|
3264
3264
|
(t === -1 || e.pointerId === t) && (r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u), t = -1, s = !1, c = !1);
|
|
3265
3265
|
}, f = (s) => {
|
|
@@ -3270,9 +3270,9 @@ function Ca(e = {}, t = !1) {
|
|
|
3270
3270
|
return e.card.addEventListener("pointerdown", f), () => {
|
|
3271
3271
|
e.card.removeEventListener("pointerdown", f), r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u);
|
|
3272
3272
|
};
|
|
3273
|
-
},
|
|
3273
|
+
}, re = (t, i, a = !0, o = !0) => {
|
|
3274
3274
|
if (E.find((e) => e.sourceEl === t)) return;
|
|
3275
|
-
a &&
|
|
3275
|
+
a && B(), E.length >= l && V(E[0], !1, !0);
|
|
3276
3276
|
let s = j(), c = ea(n, va, ya), d = na(n, !0);
|
|
3277
3277
|
d.classList.add("mesurer-ti-card--draggable"), d.classList.remove("mesurer-ti-card--pinned");
|
|
3278
3278
|
let f = u.getFull(t);
|
|
@@ -3288,24 +3288,24 @@ function Ca(e = {}, t = !1) {
|
|
|
3288
3288
|
userPlaced: i?.userPlaced ?? !1,
|
|
3289
3289
|
detach: () => {}
|
|
3290
3290
|
};
|
|
3291
|
-
E.push(m), m.detach =
|
|
3292
|
-
e.preventDefault(), e.stopPropagation(),
|
|
3291
|
+
E.push(m), m.detach = ne(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
|
|
3292
|
+
e.preventDefault(), e.stopPropagation(), V(m);
|
|
3293
3293
|
}), o && e.onPin?.(t, f);
|
|
3294
|
-
},
|
|
3295
|
-
|
|
3296
|
-
for (let t of e) t.sourceEl.isConnected &&
|
|
3297
|
-
},
|
|
3294
|
+
}, ie = (e) => {
|
|
3295
|
+
H(!1);
|
|
3296
|
+
for (let t of e) t.sourceEl.isConnected && re(t.sourceEl, t, !1, !1);
|
|
3297
|
+
}, U = () => {
|
|
3298
3298
|
let e = D.pop();
|
|
3299
|
-
return e ? (O.push(
|
|
3300
|
-
},
|
|
3299
|
+
return e ? (O.push(z()), ie(e), !0) : !1;
|
|
3300
|
+
}, ae = () => {
|
|
3301
3301
|
let e = O.pop();
|
|
3302
|
-
return e ? (D.push(
|
|
3303
|
-
},
|
|
3304
|
-
E.length && (
|
|
3305
|
-
},
|
|
3302
|
+
return e ? (D.push(z()), ie(e), !0) : !1;
|
|
3303
|
+
}, W = () => {
|
|
3304
|
+
E.length && (B(), H(!0));
|
|
3305
|
+
}, oe = () => {
|
|
3306
3306
|
for (let e of E.slice()) {
|
|
3307
3307
|
if (!e.sourceEl.isConnected) {
|
|
3308
|
-
|
|
3308
|
+
V(e, !1, !1);
|
|
3309
3309
|
continue;
|
|
3310
3310
|
}
|
|
3311
3311
|
let t = e.sourceEl.getBoundingClientRect();
|
|
@@ -3313,10 +3313,10 @@ function Ca(e = {}, t = !1) {
|
|
|
3313
3313
|
let n = t.bottom >= 0 && t.right >= 0 && t.left <= r.innerWidth && t.top <= r.innerHeight;
|
|
3314
3314
|
M(e.box, n), M(e.card, n), e.card.style.pointerEvents = n ? "auto" : "none";
|
|
3315
3315
|
}
|
|
3316
|
-
},
|
|
3316
|
+
}, se = () => {
|
|
3317
3317
|
if (m) {
|
|
3318
3318
|
if (v && g && _) {
|
|
3319
|
-
if (!v.isConnected)
|
|
3319
|
+
if (!v.isConnected) te();
|
|
3320
3320
|
else {
|
|
3321
3321
|
let e = v.getBoundingClientRect();
|
|
3322
3322
|
ta(g, e), ia(r, _, e);
|
|
@@ -3324,86 +3324,86 @@ function Ca(e = {}, t = !1) {
|
|
|
3324
3324
|
M(g, t), M(_, t);
|
|
3325
3325
|
}
|
|
3326
3326
|
}
|
|
3327
|
-
|
|
3327
|
+
oe();
|
|
3328
3328
|
}
|
|
3329
|
-
},
|
|
3329
|
+
}, ce = () => {
|
|
3330
3330
|
if (!m) return;
|
|
3331
|
-
let e =
|
|
3332
|
-
if (!e)
|
|
3333
|
-
else if (e !== v)
|
|
3331
|
+
let e = F(y.x, y.y);
|
|
3332
|
+
if (!e) te();
|
|
3333
|
+
else if (e !== v) R(e);
|
|
3334
3334
|
else if (g && _) {
|
|
3335
3335
|
let t = e.getBoundingClientRect();
|
|
3336
3336
|
ta(g, t), ia(r, _, t);
|
|
3337
3337
|
}
|
|
3338
|
-
|
|
3339
|
-
},
|
|
3338
|
+
oe();
|
|
3339
|
+
}, le = () => {
|
|
3340
3340
|
b ||= r.requestAnimationFrame(() => {
|
|
3341
|
-
b = 0,
|
|
3341
|
+
b = 0, ce();
|
|
3342
3342
|
});
|
|
3343
|
-
},
|
|
3343
|
+
}, ue = (e) => e.composedPath().some((e) => Kr(e, r)), de = (e) => {
|
|
3344
3344
|
if (y = {
|
|
3345
3345
|
x: e.clientX,
|
|
3346
3346
|
y: e.clientY
|
|
3347
|
-
},
|
|
3348
|
-
|
|
3347
|
+
}, ue(e) || L(e.clientX, e.clientY)) {
|
|
3348
|
+
te();
|
|
3349
3349
|
return;
|
|
3350
3350
|
}
|
|
3351
|
-
|
|
3352
|
-
},
|
|
3351
|
+
I(_, e.clientX, e.clientY) || le();
|
|
3352
|
+
}, fe = (e, t, n) => {
|
|
3353
3353
|
if (!e || e.dataset.mesurerNativeScrollAnchor) return;
|
|
3354
3354
|
let r = Number.parseFloat(e.style.left), i = Number.parseFloat(e.style.top);
|
|
3355
3355
|
Number.isFinite(r) && (e.style.left = `${r - t}px`), Number.isFinite(i) && (e.style.top = `${i - n}px`);
|
|
3356
|
-
},
|
|
3356
|
+
}, pe = () => {
|
|
3357
3357
|
let e = r.scrollX, t = r.scrollY, i = e - C, a = t - w;
|
|
3358
3358
|
if (C = e, w = t, Jr(n)) {
|
|
3359
3359
|
if (i || a) {
|
|
3360
|
-
|
|
3361
|
-
for (let e of E)
|
|
3360
|
+
fe(g, i, a), fe(_, i, a);
|
|
3361
|
+
for (let e of E) fe(e.box, i, a), e.userPlaced || fe(e.card, i, a);
|
|
3362
3362
|
}
|
|
3363
3363
|
S && r.clearTimeout(S), S = r.setTimeout(() => {
|
|
3364
|
-
S = 0,
|
|
3364
|
+
S = 0, se();
|
|
3365
3365
|
}, ba);
|
|
3366
3366
|
return;
|
|
3367
3367
|
}
|
|
3368
|
-
|
|
3368
|
+
se(), le();
|
|
3369
|
+
}, me = (e) => {
|
|
3370
|
+
e.relatedTarget || te();
|
|
3369
3371
|
}, he = (e) => {
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
if (!de(e)) {
|
|
3373
|
-
if (F(_, e.clientX, e.clientY) || I(e.clientX, e.clientY)) {
|
|
3372
|
+
if (!ue(e)) {
|
|
3373
|
+
if (I(_, e.clientX, e.clientY) || L(e.clientX, e.clientY)) {
|
|
3374
3374
|
e.preventDefault(), e.stopImmediatePropagation();
|
|
3375
3375
|
return;
|
|
3376
3376
|
}
|
|
3377
3377
|
if (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0) {
|
|
3378
|
-
let t =
|
|
3379
|
-
t &&
|
|
3378
|
+
let t = F(e.clientX, e.clientY);
|
|
3379
|
+
t && re(t);
|
|
3380
3380
|
}
|
|
3381
3381
|
}
|
|
3382
|
-
},
|
|
3383
|
-
if (!
|
|
3384
|
-
if (
|
|
3382
|
+
}, ge = (e) => {
|
|
3383
|
+
if (!ue(e)) {
|
|
3384
|
+
if (I(_, e.clientX, e.clientY) || L(e.clientX, e.clientY)) {
|
|
3385
3385
|
e.preventDefault(), e.stopImmediatePropagation();
|
|
3386
3386
|
return;
|
|
3387
3387
|
}
|
|
3388
3388
|
e.preventDefault(), e.stopImmediatePropagation();
|
|
3389
3389
|
}
|
|
3390
|
-
},
|
|
3391
|
-
m || (m = !0, A(), j(), n.body.classList.add(s), C = r.scrollX, w = r.scrollY, r.addEventListener("mousemove",
|
|
3390
|
+
}, _e = () => {
|
|
3391
|
+
m || (m = !0, A(), j(), n.body.classList.add(s), C = r.scrollX, w = r.scrollY, r.addEventListener("mousemove", de, !0), r.addEventListener("mouseout", me, !0), r.addEventListener("click", he, !0), r.addEventListener("auxclick", ge, !0), r.addEventListener("scroll", pe, {
|
|
3392
3392
|
capture: !0,
|
|
3393
3393
|
passive: !0
|
|
3394
|
-
}), r.addEventListener("resize",
|
|
3394
|
+
}), r.addEventListener("resize", le, !0));
|
|
3395
3395
|
}, ve = () => {
|
|
3396
|
-
m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove",
|
|
3396
|
+
m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", de, !0), r.removeEventListener("mouseout", me, !0), r.removeEventListener("click", he, !0), r.removeEventListener("auxclick", ge, !0), r.removeEventListener("scroll", pe, !0), r.removeEventListener("resize", le, !0), te(), H(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
|
|
3397
3397
|
}, ye = () => {
|
|
3398
3398
|
ve(), T?.(), T = null, h?.remove(), h = null, n.getElementById(o)?.remove(), k instanceof r.ShadowRoot && k.querySelector(`#${o}`)?.remove();
|
|
3399
3399
|
};
|
|
3400
3400
|
return {
|
|
3401
|
-
enable:
|
|
3401
|
+
enable: _e,
|
|
3402
3402
|
disable: ve,
|
|
3403
|
-
undo:
|
|
3404
|
-
redo:
|
|
3405
|
-
clear:
|
|
3406
|
-
inspect:
|
|
3403
|
+
undo: U,
|
|
3404
|
+
redo: ae,
|
|
3405
|
+
clear: W,
|
|
3406
|
+
inspect: R,
|
|
3407
3407
|
isEnabled: () => m,
|
|
3408
3408
|
canUndo: () => D.length > 0,
|
|
3409
3409
|
canRedo: () => O.length > 0,
|
|
@@ -3412,7 +3412,7 @@ function Ca(e = {}, t = !1) {
|
|
|
3412
3412
|
};
|
|
3413
3413
|
}
|
|
3414
3414
|
Ca({}, !0);
|
|
3415
|
-
var wa = "/*! 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\\:text-\\[14px\\] {\n font-size: 14px;\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", Ta = {
|
|
3415
|
+
var wa = "/*! 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-0\\.5 {\n padding-top: calc(var(--msr-spacing) * 0.5);\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-1\\.5 {\n padding-bottom: calc(var(--msr-spacing) * 1.5);\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\\:text-\\[14px\\] {\n font-size: 14px;\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", Ta = {
|
|
3416
3416
|
keepTextChanges: !1,
|
|
3417
3417
|
keepArrangeChanges: !1
|
|
3418
3418
|
}, Ea = (e) => e.state.get("mesurer.presentation.preferences") ?? Ta, Da = "mesurer.arrange", Oa = "arrange", ka = "mesurer.arrange.intents", Aa = "mesurer.arrange.active", ja = "mesurer.arrange.settings", Ma = "runtime:solid", Na = "builtin.select", Pa = "arrange.toggle", Fa = "arrange.commit", Ia = "arrange.clear", La = "arrange.reset-selection", Ra = "arrange.reset-all", za = "mesurer.arrange.selection-available", Ba = 1, Va = 24, Ha = 160, Ua = 500, Wa = "#ef4444", Ga = 24, Ka = 6, qa = 30, Ja = .5, Ya = {
|
|
@@ -3599,22 +3599,22 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3599
3599
|
}, ee = (e) => {
|
|
3600
3600
|
let t = lo(e, "transition-property");
|
|
3601
3601
|
(!m.get(e) || !fo(t, P)) && m.set(e, t), fo(t, P) || e.style.setProperty("transition-property", P.value, P.priority);
|
|
3602
|
-
},
|
|
3602
|
+
}, F = (e) => {
|
|
3603
3603
|
let t = m.get(e);
|
|
3604
3604
|
t && (fo(lo(e, "transition-property"), P) && (t.value || t.priority ? e.style.setProperty("transition-property", t.value, t.priority) : e.style.removeProperty("transition-property")), m.delete(e));
|
|
3605
|
-
},
|
|
3606
|
-
for (let t of m.keys()) e.has(t) ||
|
|
3607
|
-
}, F = () => {
|
|
3608
|
-
for (let e of m.keys()) te(e);
|
|
3605
|
+
}, te = (e) => {
|
|
3606
|
+
for (let t of m.keys()) e.has(t) || F(t);
|
|
3609
3607
|
}, I = () => {
|
|
3608
|
+
for (let e of m.keys()) F(e);
|
|
3609
|
+
}, L = () => {
|
|
3610
3610
|
for (let e of p.values()) mo(e);
|
|
3611
3611
|
p.clear();
|
|
3612
|
-
}, L = () => {
|
|
3613
|
-
I(), F();
|
|
3614
3612
|
}, R = () => {
|
|
3613
|
+
L(), I();
|
|
3614
|
+
}, z = () => {
|
|
3615
3615
|
u.style.display = "none", d.style.display = "none";
|
|
3616
|
-
},
|
|
3617
|
-
if (
|
|
3616
|
+
}, B = (e, t, n) => {
|
|
3617
|
+
if (z(), E().snapLines) {
|
|
3618
3618
|
if (e) {
|
|
3619
3619
|
let t = Math.min(n.top, e.start), r = Math.max(n.top + n.height, e.end);
|
|
3620
3620
|
u.style.display = "block", u.style.left = `${e.position}px`, u.style.top = `${t}px`, u.style.height = `${Math.max(1, r - t)}px`;
|
|
@@ -3624,29 +3624,80 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3624
3624
|
d.style.display = "block", d.style.left = `${e}px`, d.style.top = `${t.position}px`, d.style.width = `${Math.max(1, r - e)}px`;
|
|
3625
3625
|
}
|
|
3626
3626
|
}
|
|
3627
|
-
},
|
|
3627
|
+
}, V = () => {
|
|
3628
3628
|
if (!(h.size > 0)) for (let e of s.querySelectorAll("[data-mesurer-measurement='true']")) e instanceof c.HTMLElement && (h.set(e, {
|
|
3629
3629
|
value: e.style.getPropertyValue("visibility"),
|
|
3630
3630
|
priority: e.style.getPropertyPriority("visibility")
|
|
3631
3631
|
}), e.style.setProperty("visibility", "hidden", "important"));
|
|
3632
|
-
},
|
|
3632
|
+
}, H = () => {
|
|
3633
3633
|
for (let [e, t] of h) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
|
|
3634
3634
|
h.clear();
|
|
3635
|
-
},
|
|
3635
|
+
}, ne = (e) => {
|
|
3636
|
+
if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
|
|
3637
|
+
let t = e.getRootNode();
|
|
3638
|
+
return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
|
|
3639
|
+
}, re = (e, t) => {
|
|
3640
|
+
let n = ne(e);
|
|
3641
|
+
for (; n;) {
|
|
3642
|
+
let e = t.get(n);
|
|
3643
|
+
if (e) return e;
|
|
3644
|
+
n = ne(n);
|
|
3645
|
+
}
|
|
3646
|
+
return {
|
|
3647
|
+
x: 0,
|
|
3648
|
+
y: 0
|
|
3649
|
+
};
|
|
3650
|
+
}, ie = (e = k()) => {
|
|
3636
3651
|
let t = /* @__PURE__ */ new Map();
|
|
3637
3652
|
for (let n of e) for (let e of n.targets) {
|
|
3638
3653
|
let n = N(e);
|
|
3639
|
-
n && t.set(n,
|
|
3640
|
-
x: e.desiredOffsetX,
|
|
3641
|
-
y: e.desiredOffsetY
|
|
3642
|
-
});
|
|
3654
|
+
n && t.set(n, e);
|
|
3643
3655
|
}
|
|
3644
3656
|
return t;
|
|
3645
|
-
},
|
|
3657
|
+
}, U = (e) => e.offsetSpace !== "local" || e.desiredLocalOffsetX === null || e.desiredLocalOffsetY === null ? null : {
|
|
3658
|
+
x: e.desiredLocalOffsetX,
|
|
3659
|
+
y: e.desiredLocalOffsetY
|
|
3660
|
+
}, ae = (e, t) => {
|
|
3661
|
+
let n = ne(e);
|
|
3662
|
+
for (; n;) {
|
|
3663
|
+
if (t.has(n)) return n;
|
|
3664
|
+
n = ne(n);
|
|
3665
|
+
}
|
|
3666
|
+
return null;
|
|
3667
|
+
}, W = (e = k(), t = /* @__PURE__ */ new Map()) => {
|
|
3668
|
+
let n = ie(e), r = /* @__PURE__ */ new Set([...n.keys(), ...t.keys()]), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = (e) => {
|
|
3669
|
+
let s = i.get(e);
|
|
3670
|
+
if (s) return s;
|
|
3671
|
+
let c = n.get(e), l = t.get(e) ?? (c ? U(c) : null);
|
|
3672
|
+
if (!l && c) {
|
|
3673
|
+
let t = {
|
|
3674
|
+
x: c.desiredOffsetX,
|
|
3675
|
+
y: c.desiredOffsetY
|
|
3676
|
+
};
|
|
3677
|
+
return i.set(e, t), t;
|
|
3678
|
+
}
|
|
3679
|
+
if (!l) return {
|
|
3680
|
+
x: 0,
|
|
3681
|
+
y: 0
|
|
3682
|
+
};
|
|
3683
|
+
if (a.has(e)) return l;
|
|
3684
|
+
a.add(e);
|
|
3685
|
+
let u = ae(e, r), d = u ? o(u) : {
|
|
3686
|
+
x: 0,
|
|
3687
|
+
y: 0
|
|
3688
|
+
}, f = {
|
|
3689
|
+
x: d.x + l.x,
|
|
3690
|
+
y: d.y + l.y
|
|
3691
|
+
};
|
|
3692
|
+
return a.delete(e), i.set(e, f), f;
|
|
3693
|
+
};
|
|
3694
|
+
for (let e of r) o(e);
|
|
3695
|
+
return i;
|
|
3696
|
+
}, oe = () => {
|
|
3646
3697
|
if (_.state === "live") return /* @__PURE__ */ new Map();
|
|
3647
|
-
if (!_.intentId) return
|
|
3698
|
+
if (!_.intentId) return W();
|
|
3648
3699
|
let e = w().intents.find((e) => e.id === _.intentId);
|
|
3649
|
-
if (!e) return
|
|
3700
|
+
if (!e) return W();
|
|
3650
3701
|
let t = /* @__PURE__ */ new Map();
|
|
3651
3702
|
for (let n of e.targets) {
|
|
3652
3703
|
let e = N(n);
|
|
@@ -3659,25 +3710,10 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3659
3710
|
});
|
|
3660
3711
|
}
|
|
3661
3712
|
return t;
|
|
3662
|
-
},
|
|
3663
|
-
if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
|
|
3664
|
-
let t = e.getRootNode();
|
|
3665
|
-
return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
|
|
3666
|
-
}, H = (e, t) => {
|
|
3667
|
-
let n = ae(e);
|
|
3668
|
-
for (; n;) {
|
|
3669
|
-
let e = t.get(n);
|
|
3670
|
-
if (e) return e;
|
|
3671
|
-
n = ae(n);
|
|
3672
|
-
}
|
|
3673
|
-
return {
|
|
3674
|
-
x: 0,
|
|
3675
|
-
y: 0
|
|
3676
|
-
};
|
|
3677
|
-
}, oe = (e) => {
|
|
3713
|
+
}, se = (e) => {
|
|
3678
3714
|
let t = [...e].flatMap(([t, n]) => {
|
|
3679
3715
|
if (!t.isConnected || !j(t)) return [];
|
|
3680
|
-
let r =
|
|
3716
|
+
let r = re(t, e), i = {
|
|
3681
3717
|
x: n.x - r.x,
|
|
3682
3718
|
y: n.y - r.y
|
|
3683
3719
|
};
|
|
@@ -3687,7 +3723,7 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3687
3723
|
}];
|
|
3688
3724
|
}), n = new Set(t.map(({ element: e }) => e));
|
|
3689
3725
|
for (let { element: e } of t) ee(e);
|
|
3690
|
-
|
|
3726
|
+
L();
|
|
3691
3727
|
for (let { element: e, offset: n } of t) {
|
|
3692
3728
|
let t = uo(e), i = r.getComputedStyle(e).transform, a = i && i !== "none" ? ` ${i}` : "";
|
|
3693
3729
|
e.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(e, {
|
|
@@ -3696,26 +3732,26 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3696
3732
|
appliedTransform: uo(e)
|
|
3697
3733
|
});
|
|
3698
3734
|
}
|
|
3699
|
-
|
|
3700
|
-
},
|
|
3701
|
-
|
|
3735
|
+
te(n);
|
|
3736
|
+
}, ce = () => se(oe()), le = (e) => {
|
|
3737
|
+
L();
|
|
3702
3738
|
try {
|
|
3703
3739
|
return e();
|
|
3704
3740
|
} finally {
|
|
3705
|
-
!x && !v &&
|
|
3741
|
+
!x && !v && ce();
|
|
3706
3742
|
}
|
|
3707
|
-
},
|
|
3743
|
+
}, ue = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && j(e));
|
|
3708
3744
|
e.state.register({
|
|
3709
3745
|
id: za,
|
|
3710
|
-
initial:
|
|
3746
|
+
initial: ue().length > 0
|
|
3711
3747
|
});
|
|
3712
|
-
let
|
|
3713
|
-
let t =
|
|
3714
|
-
t !==
|
|
3715
|
-
},
|
|
3748
|
+
let de = () => e.state.get(za) ?? !1, fe = () => {
|
|
3749
|
+
let t = ue().length > 0;
|
|
3750
|
+
t !== de() && e.state.update(za, () => t);
|
|
3751
|
+
}, pe = () => Qa(ue().map((e) => Oi(e))), me = () => {
|
|
3716
3752
|
for (let e of g.values()) e.remove();
|
|
3717
3753
|
g.clear();
|
|
3718
|
-
},
|
|
3754
|
+
}, he = (e) => {
|
|
3719
3755
|
let t = e.getBoundingClientRect(), n = t.right + Ka;
|
|
3720
3756
|
n + Ga > r.innerWidth - 4 && (n = Math.max(4, t.left - Ga - Ka));
|
|
3721
3757
|
let i = Math.min(Math.max(4, t.top + qa), Math.max(4, r.innerHeight - Ga - 4));
|
|
@@ -3723,27 +3759,34 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3723
3759
|
left: n,
|
|
3724
3760
|
top: i
|
|
3725
3761
|
};
|
|
3726
|
-
},
|
|
3762
|
+
}, ge = () => {
|
|
3727
3763
|
if (!T() || v) {
|
|
3728
|
-
|
|
3764
|
+
me();
|
|
3729
3765
|
return;
|
|
3730
3766
|
}
|
|
3731
|
-
let t =
|
|
3732
|
-
for (let
|
|
3733
|
-
let
|
|
3734
|
-
if (!
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3767
|
+
let t = k(), r = ie(t), i = W(t), a = /* @__PURE__ */ new Set();
|
|
3768
|
+
for (let t of ue()) {
|
|
3769
|
+
let o = r.get(t);
|
|
3770
|
+
if (!o) continue;
|
|
3771
|
+
let s = i.get(t);
|
|
3772
|
+
if (!s) continue;
|
|
3773
|
+
let c = re(t, i), u = U(o) ?? {
|
|
3774
|
+
x: s.x - c.x,
|
|
3775
|
+
y: s.y - c.y
|
|
3776
|
+
};
|
|
3777
|
+
if (Math.abs(u.x) <= Ja && Math.abs(u.y) <= Ja) continue;
|
|
3778
|
+
a.add(t);
|
|
3779
|
+
let d = g.get(t);
|
|
3780
|
+
d || (d = n.createElement("button"), d.type = "button", d.dataset.mesurerArrangeReset = "true", d.dataset.mesurerInspectorUi = "true", d.setAttribute("aria-label", "Reset position"), d.title = "Reset position", d.textContent = "↺", d.className = "msr:pointer-events-auto msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border msr:border-ink-200 msr:bg-white msr:text-[14px] msr:leading-none msr:text-black msr:outline-none msr:hover:bg-ink-50 msr:focus-visible:border-[#0d99ff]", d.style.position = "fixed", d.addEventListener("pointerdown", (e) => e.stopPropagation()), d.addEventListener("click", (n) => {
|
|
3781
|
+
n.preventDefault(), n.stopPropagation(), b = [t], e.command.execute(La, void 0, { source: "arrange-reset-button" }).catch(() => {
|
|
3739
3782
|
b = null;
|
|
3740
3783
|
});
|
|
3741
|
-
}), g.set(
|
|
3742
|
-
let
|
|
3743
|
-
|
|
3784
|
+
}), g.set(t, d), l.append(d));
|
|
3785
|
+
let f = he(t);
|
|
3786
|
+
d.style.left = `${f.left}px`, d.style.top = `${f.top}px`;
|
|
3744
3787
|
}
|
|
3745
|
-
for (let [e, t] of g)
|
|
3746
|
-
},
|
|
3788
|
+
for (let [e, t] of g) a.has(e) || (t.remove(), g.delete(e));
|
|
3789
|
+
}, _e = (t) => {
|
|
3747
3790
|
let n = new Set(t);
|
|
3748
3791
|
n.size && (e.state.update("mesurer.arrange.intents", (e) => {
|
|
3749
3792
|
let t = !1, r = e.intents.flatMap((e) => {
|
|
@@ -3758,13 +3801,13 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3758
3801
|
}] : [];
|
|
3759
3802
|
});
|
|
3760
3803
|
return t ? { intents: r } : e;
|
|
3761
|
-
}),
|
|
3762
|
-
},
|
|
3804
|
+
}), xe(), be());
|
|
3805
|
+
}, ve = () => {
|
|
3763
3806
|
e.state.update(ka, (e) => {
|
|
3764
3807
|
let t = e.intents.filter((e) => e.pageUrl !== O());
|
|
3765
3808
|
return t.length === e.intents.length ? e : { intents: t };
|
|
3766
|
-
}),
|
|
3767
|
-
},
|
|
3809
|
+
}), xe(), be();
|
|
3810
|
+
}, ye = (e) => {
|
|
3768
3811
|
let t = E();
|
|
3769
3812
|
if (!t.snapping) return [];
|
|
3770
3813
|
let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
|
|
@@ -3836,38 +3879,38 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3836
3879
|
kind: "guide"
|
|
3837
3880
|
});
|
|
3838
3881
|
return n;
|
|
3839
|
-
},
|
|
3882
|
+
}, be = (e) => {
|
|
3840
3883
|
if (!T()) {
|
|
3841
|
-
f.style.display = "none",
|
|
3884
|
+
f.style.display = "none", me();
|
|
3842
3885
|
return;
|
|
3843
3886
|
}
|
|
3844
|
-
let t = e === void 0 ?
|
|
3887
|
+
let t = e === void 0 ? pe() : e;
|
|
3845
3888
|
if (!t) {
|
|
3846
|
-
f.style.display = "none",
|
|
3889
|
+
f.style.display = "none", me();
|
|
3847
3890
|
return;
|
|
3848
3891
|
}
|
|
3849
|
-
f.style.display = "block", f.style.left = `${t.left}px`, f.style.top = `${t.top}px`, f.style.width = `${t.width}px`, f.style.height = `${t.height}px`, v ?
|
|
3850
|
-
},
|
|
3892
|
+
f.style.display = "block", f.style.left = `${t.left}px`, f.style.top = `${t.top}px`, f.style.width = `${t.width}px`, f.style.height = `${t.height}px`, v ? me() : ge();
|
|
3893
|
+
}, xe = () => {
|
|
3851
3894
|
_ = {
|
|
3852
3895
|
intentId: null,
|
|
3853
3896
|
state: "desired"
|
|
3854
|
-
},
|
|
3855
|
-
},
|
|
3897
|
+
}, ce(), z(), T() ? V() : H();
|
|
3898
|
+
}, Se = () => {
|
|
3856
3899
|
_ = {
|
|
3857
3900
|
intentId: null,
|
|
3858
3901
|
state: "live"
|
|
3859
|
-
},
|
|
3860
|
-
},
|
|
3861
|
-
x || v || (
|
|
3862
|
-
},
|
|
3902
|
+
}, R(), z(), H();
|
|
3903
|
+
}, Ce = () => {
|
|
3904
|
+
x || v || (ce(), z(), T() ? V() : H(), be());
|
|
3905
|
+
}, we = () => {
|
|
3863
3906
|
S || x || (S = r.requestAnimationFrame(() => {
|
|
3864
|
-
S = 0,
|
|
3907
|
+
S = 0, Ce();
|
|
3865
3908
|
}));
|
|
3866
|
-
},
|
|
3909
|
+
}, Te = async () => {
|
|
3867
3910
|
s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Na, void 0, { source: "arrange" });
|
|
3868
|
-
},
|
|
3911
|
+
}, Ee = (e) => {
|
|
3869
3912
|
if (!T() || e.button !== 0) return;
|
|
3870
|
-
let r =
|
|
3913
|
+
let r = ue();
|
|
3871
3914
|
if (!r.length) return;
|
|
3872
3915
|
let a = e.shiftKey ? Ri(t.rendererRoot ?? null, () => Ri(l, () => Ii({
|
|
3873
3916
|
x: e.clientX,
|
|
@@ -3880,62 +3923,81 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3880
3923
|
e.preventDefault(), e.stopPropagation(), _ = {
|
|
3881
3924
|
intentId: null,
|
|
3882
3925
|
state: "desired"
|
|
3883
|
-
},
|
|
3884
|
-
let s =
|
|
3885
|
-
|
|
3886
|
-
let
|
|
3887
|
-
let n = Oi(e), r = s.get(e) ?? {
|
|
3888
|
-
x:
|
|
3889
|
-
y:
|
|
3890
|
-
},
|
|
3926
|
+
}, ce();
|
|
3927
|
+
let s = ie(k()), u = W(k()), d = new Set(r);
|
|
3928
|
+
L();
|
|
3929
|
+
let p = r.map((e, t) => {
|
|
3930
|
+
let n = Oi(e), r = re(e, u), i = u.get(e) ?? r, a = s.get(e), o = (a ? U(a) : null) ?? {
|
|
3931
|
+
x: i.x - r.x,
|
|
3932
|
+
y: i.y - r.y
|
|
3933
|
+
}, c = Xa(n, i), l = Bi(e);
|
|
3891
3934
|
return {
|
|
3892
3935
|
element: e,
|
|
3936
|
+
movesDirectly: ae(e, d) === null,
|
|
3893
3937
|
target: {
|
|
3894
3938
|
id: `target-${t + 1}`,
|
|
3895
3939
|
selector: zi(e),
|
|
3896
|
-
fingerprintTag:
|
|
3897
|
-
fingerprintId:
|
|
3898
|
-
fingerprintTestId:
|
|
3899
|
-
fingerprintRole:
|
|
3900
|
-
fingerprintAriaLabel:
|
|
3901
|
-
fingerprintClasses: [...
|
|
3902
|
-
fingerprintText:
|
|
3903
|
-
beforeLeft:
|
|
3904
|
-
beforeTop:
|
|
3905
|
-
beforeWidth:
|
|
3906
|
-
beforeHeight:
|
|
3907
|
-
desiredLeft:
|
|
3908
|
-
desiredTop:
|
|
3909
|
-
desiredWidth:
|
|
3910
|
-
desiredHeight:
|
|
3911
|
-
beforeOffsetX:
|
|
3912
|
-
beforeOffsetY:
|
|
3913
|
-
desiredOffsetX:
|
|
3914
|
-
desiredOffsetY:
|
|
3940
|
+
fingerprintTag: l.tag,
|
|
3941
|
+
fingerprintId: l.id,
|
|
3942
|
+
fingerprintTestId: l.testId,
|
|
3943
|
+
fingerprintRole: l.role,
|
|
3944
|
+
fingerprintAriaLabel: l.ariaLabel,
|
|
3945
|
+
fingerprintClasses: [...l.classes],
|
|
3946
|
+
fingerprintText: l.text,
|
|
3947
|
+
beforeLeft: c.left,
|
|
3948
|
+
beforeTop: c.top,
|
|
3949
|
+
beforeWidth: c.width,
|
|
3950
|
+
beforeHeight: c.height,
|
|
3951
|
+
desiredLeft: c.left,
|
|
3952
|
+
desiredTop: c.top,
|
|
3953
|
+
desiredWidth: c.width,
|
|
3954
|
+
desiredHeight: c.height,
|
|
3955
|
+
beforeOffsetX: i.x,
|
|
3956
|
+
beforeOffsetY: i.y,
|
|
3957
|
+
desiredOffsetX: i.x,
|
|
3958
|
+
desiredOffsetY: i.y,
|
|
3959
|
+
offsetSpace: "local",
|
|
3960
|
+
beforeLocalOffsetX: o.x,
|
|
3961
|
+
beforeLocalOffsetY: o.y,
|
|
3962
|
+
desiredLocalOffsetX: o.x,
|
|
3963
|
+
desiredLocalOffsetY: o.y
|
|
3915
3964
|
}
|
|
3916
3965
|
};
|
|
3917
|
-
}),
|
|
3966
|
+
}), m = Qa(p.map(({ target: e }) => ({
|
|
3918
3967
|
left: e.beforeLeft,
|
|
3919
3968
|
top: e.beforeTop,
|
|
3920
3969
|
width: e.beforeWidth,
|
|
3921
3970
|
height: e.beforeHeight
|
|
3922
3971
|
})));
|
|
3923
|
-
if (!
|
|
3924
|
-
|
|
3972
|
+
if (!m) {
|
|
3973
|
+
ce();
|
|
3925
3974
|
return;
|
|
3926
3975
|
}
|
|
3927
|
-
|
|
3976
|
+
ce(), V(), z(), v = {
|
|
3928
3977
|
pointerId: e.pointerId,
|
|
3929
3978
|
originX: e.clientX,
|
|
3930
3979
|
originY: e.clientY,
|
|
3931
|
-
targets:
|
|
3932
|
-
groupBefore:
|
|
3933
|
-
snapCandidates:
|
|
3980
|
+
targets: p,
|
|
3981
|
+
groupBefore: m,
|
|
3982
|
+
snapCandidates: ye(r),
|
|
3934
3983
|
shiftToggleElement: e.shiftKey && a instanceof c.HTMLElement && r.includes(a) ? a : null,
|
|
3935
3984
|
dx: 0,
|
|
3936
3985
|
dy: 0
|
|
3937
|
-
},
|
|
3938
|
-
},
|
|
3986
|
+
}, be(m), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
|
|
3987
|
+
}, De = (e, t, n) => {
|
|
3988
|
+
let r = /* @__PURE__ */ new Map();
|
|
3989
|
+
for (let i of e.targets) {
|
|
3990
|
+
let e = {
|
|
3991
|
+
x: i.target.beforeLocalOffsetX ?? 0,
|
|
3992
|
+
y: i.target.beforeLocalOffsetY ?? 0
|
|
3993
|
+
};
|
|
3994
|
+
r.set(i.element, i.movesDirectly ? {
|
|
3995
|
+
x: e.x + t,
|
|
3996
|
+
y: e.y + n
|
|
3997
|
+
} : e);
|
|
3998
|
+
}
|
|
3999
|
+
return r;
|
|
4000
|
+
}, Oe = (e) => {
|
|
3939
4001
|
if (!v || e.pointerId !== v.pointerId) return;
|
|
3940
4002
|
let t = e.clientX - v.originX, n = e.clientY - v.originY, r = null;
|
|
3941
4003
|
e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
|
|
@@ -3944,60 +4006,71 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3944
4006
|
y: n
|
|
3945
4007
|
}), a = r === "y" ? null : ro("x", i, v.snapCandidates), o = r === "x" ? null : ro("y", i, v.snapCandidates);
|
|
3946
4008
|
t += a?.delta ?? 0, n += o?.delta ?? 0, v.dx = t, v.dy = n;
|
|
3947
|
-
let s =
|
|
3948
|
-
|
|
3949
|
-
x: e.target.beforeOffsetX + t,
|
|
3950
|
-
y: e.target.beforeOffsetY + n
|
|
3951
|
-
});
|
|
3952
|
-
oe(s);
|
|
4009
|
+
let s = W(k(), De(v, t, n));
|
|
4010
|
+
se(s);
|
|
3953
4011
|
let c = Xa(v.groupBefore, {
|
|
3954
4012
|
x: t,
|
|
3955
4013
|
y: n
|
|
3956
4014
|
});
|
|
3957
|
-
|
|
3958
|
-
},
|
|
4015
|
+
be(c), B(a, o, c);
|
|
4016
|
+
}, ke = () => {
|
|
3959
4017
|
if (!v) return;
|
|
3960
4018
|
let e = v.pointerId;
|
|
3961
|
-
v = null, f.hasPointerCapture?.(e) && f.releasePointerCapture(e), f.style.cursor = "grab",
|
|
3962
|
-
},
|
|
4019
|
+
v = null, f.hasPointerCapture?.(e) && f.releasePointerCapture(e), f.style.cursor = "grab", xe(), be();
|
|
4020
|
+
}, Ae = (t) => {
|
|
3963
4021
|
if (!v || t.pointerId !== v.pointerId) return;
|
|
3964
4022
|
t.preventDefault(), t.stopPropagation();
|
|
3965
4023
|
let n = v;
|
|
3966
|
-
if (v = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab",
|
|
3967
|
-
n.shiftToggleElement && i.toggleSelection(n.shiftToggleElement),
|
|
4024
|
+
if (v = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab", z(), n.dx === 0 && n.dy === 0) {
|
|
4025
|
+
n.shiftToggleElement && i.toggleSelection(n.shiftToggleElement), xe(), be();
|
|
3968
4026
|
return;
|
|
3969
4027
|
}
|
|
4028
|
+
let a = W(k(), De(n, n.dx, n.dy));
|
|
3970
4029
|
y = {
|
|
3971
4030
|
id: ao(r, "arrange"),
|
|
3972
4031
|
createdAt: Date.now(),
|
|
3973
4032
|
pageUrl: O(),
|
|
3974
|
-
targets: n.targets.map(({
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
4033
|
+
targets: n.targets.map(({ element: e, movesDirectly: t, target: r }) => {
|
|
4034
|
+
let i = {
|
|
4035
|
+
x: r.beforeLocalOffsetX ?? 0,
|
|
4036
|
+
y: r.beforeLocalOffsetY ?? 0
|
|
4037
|
+
}, o = t ? {
|
|
4038
|
+
x: i.x + n.dx,
|
|
4039
|
+
y: i.y + n.dy
|
|
4040
|
+
} : i, s = a.get(e) ?? {
|
|
4041
|
+
x: r.beforeOffsetX + n.dx,
|
|
4042
|
+
y: r.beforeOffsetY + n.dy
|
|
4043
|
+
};
|
|
4044
|
+
return {
|
|
4045
|
+
...r,
|
|
4046
|
+
desiredLeft: r.beforeLeft + n.dx,
|
|
4047
|
+
desiredTop: r.beforeTop + n.dy,
|
|
4048
|
+
desiredOffsetX: s.x,
|
|
4049
|
+
desiredOffsetY: s.y,
|
|
4050
|
+
desiredLocalOffsetX: o.x,
|
|
4051
|
+
desiredLocalOffsetY: o.y
|
|
4052
|
+
};
|
|
4053
|
+
})
|
|
3981
4054
|
}, e.command.execute(Fa).catch(() => {
|
|
3982
|
-
y = null,
|
|
4055
|
+
y = null, xe(), be();
|
|
3983
4056
|
});
|
|
3984
|
-
},
|
|
3985
|
-
!v || e.pointerId !== v.pointerId ||
|
|
3986
|
-
},
|
|
4057
|
+
}, je = (e) => {
|
|
4058
|
+
!v || e.pointerId !== v.pointerId || ke();
|
|
4059
|
+
}, Me = (t) => {
|
|
3987
4060
|
if (t.key !== "Escape" || !T() && !v || ho(t.target) || s.querySelector("[data-mesurer-tool-menu]")) return;
|
|
3988
4061
|
if (t.preventDefault(), t.stopImmediatePropagation(), v) {
|
|
3989
|
-
|
|
4062
|
+
ke();
|
|
3990
4063
|
return;
|
|
3991
4064
|
}
|
|
3992
4065
|
let n = i.currentSelection();
|
|
3993
4066
|
if (n.elements.length > 0 || n.region) {
|
|
3994
|
-
i.clearSelection(),
|
|
4067
|
+
i.clearSelection(), be();
|
|
3995
4068
|
return;
|
|
3996
4069
|
}
|
|
3997
|
-
e.state.update(Aa, () => !1),
|
|
4070
|
+
e.state.update(Aa, () => !1), Se(), be(), e.command.execute(Na, void 0, { source: "arrange-escape" }).catch(() => void 0);
|
|
3998
4071
|
};
|
|
3999
|
-
f.addEventListener("pointerdown",
|
|
4000
|
-
|
|
4072
|
+
f.addEventListener("pointerdown", Ee), f.addEventListener("pointermove", Oe), f.addEventListener("pointerup", Ae), f.addEventListener("pointercancel", je), r.addEventListener("keydown", Me, !0), r.addEventListener("resize", we), r.addEventListener("scroll", we, !0), o.addEventListener("scroll", we, !0), C = new c.MutationObserver(() => {
|
|
4073
|
+
fe(), we();
|
|
4001
4074
|
}), C.observe(o, {
|
|
4002
4075
|
childList: !0,
|
|
4003
4076
|
subtree: !0,
|
|
@@ -4010,9 +4083,9 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4010
4083
|
"aria-label"
|
|
4011
4084
|
]
|
|
4012
4085
|
});
|
|
4013
|
-
let
|
|
4014
|
-
|
|
4015
|
-
}),
|
|
4086
|
+
let Ne = i.subscribe(() => {
|
|
4087
|
+
fe(), we();
|
|
4088
|
+
}), Pe = e.state.subscribe(we), Fe = (e) => w().intents.find((t) => t.id === e) ?? null, Ie = (e, t) => {
|
|
4016
4089
|
let n = null;
|
|
4017
4090
|
if (n = t === "before" ? Qa(e.targets.map((e) => ({
|
|
4018
4091
|
left: e.beforeLeft,
|
|
@@ -4024,7 +4097,7 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4024
4097
|
top: e.desiredTop,
|
|
4025
4098
|
width: e.desiredWidth,
|
|
4026
4099
|
height: e.desiredHeight
|
|
4027
|
-
}))) :
|
|
4100
|
+
}))) : le(() => Qa(e.targets.map((e) => N(e)).filter((e) => e !== null).map((e) => Oi(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
|
|
4028
4101
|
let i = Math.max(0, n.left - Va), a = Math.max(0, n.top - Va), o = Math.min(r.innerWidth, n.left + n.width + Va), s = Math.min(r.innerHeight, n.top + n.height + Va);
|
|
4029
4102
|
return {
|
|
4030
4103
|
left: i,
|
|
@@ -4032,28 +4105,28 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4032
4105
|
width: Math.max(0, o - i),
|
|
4033
4106
|
height: Math.max(0, s - a)
|
|
4034
4107
|
};
|
|
4035
|
-
},
|
|
4108
|
+
}, Le = {
|
|
4036
4109
|
active: T,
|
|
4037
4110
|
intents: () => w().intents.map(co),
|
|
4038
4111
|
intent(e) {
|
|
4039
|
-
let t =
|
|
4112
|
+
let t = Fe(e);
|
|
4040
4113
|
return t ? co(t) : null;
|
|
4041
4114
|
},
|
|
4042
4115
|
show(e, t) {
|
|
4043
|
-
if (!
|
|
4116
|
+
if (!Fe(e)) throw Error(`Arrange intent not found: ${e}`);
|
|
4044
4117
|
_ = {
|
|
4045
4118
|
intentId: e,
|
|
4046
4119
|
state: t
|
|
4047
|
-
},
|
|
4120
|
+
}, Ce();
|
|
4048
4121
|
},
|
|
4049
4122
|
showCurrent() {
|
|
4050
4123
|
_ = {
|
|
4051
4124
|
intentId: null,
|
|
4052
4125
|
state: "desired"
|
|
4053
|
-
},
|
|
4126
|
+
}, Ce();
|
|
4054
4127
|
},
|
|
4055
4128
|
capturePlan(e, t) {
|
|
4056
|
-
let n =
|
|
4129
|
+
let n = Fe(e);
|
|
4057
4130
|
if (!n) throw Error(`Arrange intent not found: ${e}`);
|
|
4058
4131
|
return {
|
|
4059
4132
|
schema: "mesurer.arrange-capture/v1",
|
|
@@ -4066,14 +4139,14 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4066
4139
|
}, {
|
|
4067
4140
|
id: "focus",
|
|
4068
4141
|
kind: "clip",
|
|
4069
|
-
rect:
|
|
4142
|
+
rect: Ie(n, t)
|
|
4070
4143
|
}]
|
|
4071
4144
|
};
|
|
4072
4145
|
},
|
|
4073
4146
|
review: (e, t = Ba) => {
|
|
4074
|
-
let n =
|
|
4147
|
+
let n = Fe(e);
|
|
4075
4148
|
if (!n) throw Error(`Arrange intent not found: ${e}`);
|
|
4076
|
-
let r =
|
|
4149
|
+
let r = le(() => n.targets.map((e) => {
|
|
4077
4150
|
let n = N(e), r = {
|
|
4078
4151
|
left: e.desiredLeft,
|
|
4079
4152
|
top: e.desiredTop,
|
|
@@ -4240,24 +4313,24 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4240
4313
|
]
|
|
4241
4314
|
}), e.command.register(Pa, async () => {
|
|
4242
4315
|
let t = !T();
|
|
4243
|
-
if (t && await
|
|
4244
|
-
v &&
|
|
4316
|
+
if (t && await Te(), e.state.update("mesurer.arrange.active", () => t), !t) {
|
|
4317
|
+
v && ke(), Se(), be();
|
|
4245
4318
|
return;
|
|
4246
4319
|
}
|
|
4247
|
-
|
|
4320
|
+
xe(), be();
|
|
4248
4321
|
}), e.command.register(Fa, () => {
|
|
4249
4322
|
let t = y;
|
|
4250
|
-
y = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })),
|
|
4323
|
+
y = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), xe(), be());
|
|
4251
4324
|
}), e.command.register(La, () => {
|
|
4252
|
-
let e = b ??
|
|
4253
|
-
b = null,
|
|
4254
|
-
}), e.command.register(Ra,
|
|
4325
|
+
let e = b ?? ue();
|
|
4326
|
+
b = null, _e(e);
|
|
4327
|
+
}), e.command.register(Ra, ve), e.command.register(Ia, () => {
|
|
4255
4328
|
e.state.update(ka, () => ({ intents: [] })), _ = {
|
|
4256
4329
|
intentId: null,
|
|
4257
4330
|
state: "desired"
|
|
4258
|
-
},
|
|
4259
|
-
}), e.service.provide(Oa,
|
|
4260
|
-
x = !0, S && r.cancelAnimationFrame(S), C?.disconnect(), C = null, f.removeEventListener("pointerdown",
|
|
4331
|
+
}, R(), z(), T() ? V() : H(), be();
|
|
4332
|
+
}), e.service.provide(Oa, Le), ce(), be(), e.lifecycle.onDispose(() => {
|
|
4333
|
+
x = !0, S && r.cancelAnimationFrame(S), C?.disconnect(), C = null, f.removeEventListener("pointerdown", Ee), f.removeEventListener("pointermove", Oe), f.removeEventListener("pointerup", Ae), f.removeEventListener("pointercancel", je), r.removeEventListener("keydown", Me, !0), r.removeEventListener("resize", we), r.removeEventListener("scroll", we, !0), o.removeEventListener("scroll", we, !0), Ne(), Pe.dispose(), R(), me(), z(), H(), i.dispose(), a.dispose();
|
|
4261
4334
|
});
|
|
4262
4335
|
}
|
|
4263
4336
|
}), _o = (e, t, n) => {
|
|
@@ -4553,129 +4626,129 @@ var zo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Bo = 0, Vo = (e)
|
|
|
4553
4626
|
} : Go(e, t, n, r, i);
|
|
4554
4627
|
};
|
|
4555
4628
|
function qo(e) {
|
|
4556
|
-
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-${++Bo}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, N, P, ee = null,
|
|
4557
|
-
if (
|
|
4558
|
-
let t =
|
|
4629
|
+
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-${++Bo}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, N, P, ee = null, F = null, te = null, I = null, L = null, R = null, z = /* @__PURE__ */ new Map(), B = () => N?.ownerDocument.defaultView ?? window, V = () => e.coordinateSpace === "viewport", H = (e) => e ? "native-anchor" : V() ? "cached-delta" : "document", ne = (e) => {
|
|
4630
|
+
if (V()) return e;
|
|
4631
|
+
let t = B();
|
|
4559
4632
|
return {
|
|
4560
4633
|
left: e.left + t.scrollX,
|
|
4561
4634
|
top: e.top + t.scrollY
|
|
4562
4635
|
};
|
|
4563
|
-
},
|
|
4636
|
+
}, re = () => {
|
|
4564
4637
|
let t = e.runtime.currentSelection();
|
|
4565
4638
|
return {
|
|
4566
4639
|
elements: [...t.elements],
|
|
4567
4640
|
region: t.region ? { ...t.region } : null
|
|
4568
4641
|
};
|
|
4569
|
-
},
|
|
4642
|
+
}, 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 = () => {
|
|
4570
4643
|
A = null, v(""), g(!1), b(null), m(null);
|
|
4571
|
-
},
|
|
4572
|
-
let e =
|
|
4644
|
+
}, ae = () => {
|
|
4645
|
+
let e = B();
|
|
4573
4646
|
return !!(e.CSS?.supports("anchor-name: --mesurer-annotation-trigger") && e.CSS.supports("position-anchor: --mesurer-annotation-trigger") && e.CSS.supports("left: anchor(left)"));
|
|
4574
|
-
},
|
|
4647
|
+
}, W = () => {
|
|
4575
4648
|
let t = e.runtime.currentSelection().elements;
|
|
4576
4649
|
if (!t.length) return null;
|
|
4577
4650
|
let n = e.runtime.hoveredElement();
|
|
4578
4651
|
return t.find((e) => e === n) ?? t.find((e) => n && e.contains(n)) ?? t[0];
|
|
4579
|
-
},
|
|
4580
|
-
let e =
|
|
4581
|
-
return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== P ||
|
|
4582
|
-
},
|
|
4583
|
-
let t =
|
|
4652
|
+
}, oe = () => N?.parentElement, se = () => {
|
|
4653
|
+
let e = oe();
|
|
4654
|
+
return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== P || F === null) : [];
|
|
4655
|
+
}, ce = (e) => {
|
|
4656
|
+
let t = oe();
|
|
4584
4657
|
return t ? [...t.querySelectorAll("[data-mesurer-annotation-id]")].filter((t) => t.dataset.mesurerAnnotationId === e) : [];
|
|
4585
|
-
},
|
|
4586
|
-
let t =
|
|
4587
|
-
t && (t.scroll.release(), t.releaseAnchor?.(),
|
|
4588
|
-
},
|
|
4658
|
+
}, le = (e) => {
|
|
4659
|
+
let t = z.get(e);
|
|
4660
|
+
t && (t.scroll.release(), t.releaseAnchor?.(), z.delete(e));
|
|
4661
|
+
}, ue = (t) => {
|
|
4589
4662
|
let n = e.runtime.annotation(t);
|
|
4590
4663
|
return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
|
|
4591
|
-
},
|
|
4592
|
-
let t =
|
|
4664
|
+
}, de = (e) => !!(Ho(e) && V() && N && ae() && e.getRootNode() === N.getRootNode()), fe = (e) => {
|
|
4665
|
+
let t = ue(e), n = z.get(e);
|
|
4593
4666
|
if (!t) {
|
|
4594
|
-
n && (
|
|
4667
|
+
n && (le(e), i((e) => e + 1));
|
|
4595
4668
|
return;
|
|
4596
4669
|
}
|
|
4597
|
-
let r =
|
|
4670
|
+
let r = de(t);
|
|
4598
4671
|
if (n?.target === t && !!n.anchorName === r) {
|
|
4599
4672
|
n.scroll.sync();
|
|
4600
4673
|
return;
|
|
4601
4674
|
}
|
|
4602
|
-
|
|
4675
|
+
le(e);
|
|
4603
4676
|
let a = t.ownerDocument.defaultView;
|
|
4604
4677
|
if (a) {
|
|
4605
4678
|
if (r && Ho(t)) {
|
|
4606
4679
|
let n = `--mesurer-annotation-${++Bo}`;
|
|
4607
|
-
|
|
4680
|
+
z.set(e, {
|
|
4608
4681
|
target: t,
|
|
4609
4682
|
anchorName: n,
|
|
4610
4683
|
releaseAnchor: Uo(t, n),
|
|
4611
|
-
scroll: ri(a, t, () =>
|
|
4684
|
+
scroll: ri(a, t, () => ce(e), { trackWindow: !1 })
|
|
4612
4685
|
});
|
|
4613
|
-
} else
|
|
4686
|
+
} else z.set(e, {
|
|
4614
4687
|
target: t,
|
|
4615
4688
|
anchorName: null,
|
|
4616
4689
|
releaseAnchor: null,
|
|
4617
|
-
scroll: ri(a, t, () =>
|
|
4690
|
+
scroll: ri(a, t, () => ce(e), { trackWindow: V() })
|
|
4618
4691
|
});
|
|
4619
4692
|
i((e) => e + 1);
|
|
4620
4693
|
}
|
|
4621
|
-
},
|
|
4694
|
+
}, pe = () => {
|
|
4622
4695
|
let t = new Set(e.runtime.annotations().map((e) => e.id));
|
|
4623
|
-
for (let e of
|
|
4624
|
-
for (let e of t)
|
|
4625
|
-
},
|
|
4626
|
-
|
|
4627
|
-
},
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
for (let e of
|
|
4696
|
+
for (let e of z.keys()) t.has(e) || le(e);
|
|
4697
|
+
for (let e of t) fe(e);
|
|
4698
|
+
}, me = (e) => {
|
|
4699
|
+
B().queueMicrotask(() => fe(e));
|
|
4700
|
+
}, he = () => {
|
|
4701
|
+
B().queueMicrotask(() => {
|
|
4702
|
+
pe();
|
|
4703
|
+
for (let e of z.values()) e.anchorName || e.scroll.rebase();
|
|
4631
4704
|
});
|
|
4632
4705
|
};
|
|
4633
|
-
e.initialTriggerFallback && (O =
|
|
4634
|
-
let
|
|
4635
|
-
|
|
4636
|
-
},
|
|
4637
|
-
let e =
|
|
4706
|
+
e.initialTriggerFallback && (O = W());
|
|
4707
|
+
let ge = () => {
|
|
4708
|
+
I?.release(), I = null, te?.(), te = null, ee = null, F = null;
|
|
4709
|
+
}, _e = (e) => !!(Ho(e) && V() && N && e !== O && ae() && e.getRootNode() === N.getRootNode()), ve = () => {
|
|
4710
|
+
let e = W();
|
|
4638
4711
|
O && e !== O && (O = null);
|
|
4639
|
-
let t = ee, n = !!(e?.isConnected &&
|
|
4712
|
+
let t = ee, n = !!(e?.isConnected && _e(e)), r = F === e;
|
|
4640
4713
|
if (e === ee && e?.isConnected && n === r) {
|
|
4641
|
-
|
|
4714
|
+
I?.sync();
|
|
4642
4715
|
return;
|
|
4643
4716
|
}
|
|
4644
4717
|
let i = e === t ? D : `--mesurer-annotation-trigger-${++Bo}`;
|
|
4645
|
-
if (
|
|
4718
|
+
if (ge(), !e?.isConnected) return;
|
|
4646
4719
|
ee = e;
|
|
4647
4720
|
let a = e.ownerDocument.defaultView;
|
|
4648
4721
|
if (a) {
|
|
4649
4722
|
if (n && Ho(e)) {
|
|
4650
|
-
|
|
4723
|
+
te = Uo(e, i), F = e, D = i, I = ri(a, e, se, { trackWindow: !1 });
|
|
4651
4724
|
return;
|
|
4652
4725
|
}
|
|
4653
|
-
D = i,
|
|
4726
|
+
D = i, I = ri(a, e, se, { trackWindow: V() });
|
|
4654
4727
|
}
|
|
4655
4728
|
}, ye = (e) => {
|
|
4656
|
-
if (
|
|
4729
|
+
if (L?.disconnect(), L = null, !e?.isConnected) return;
|
|
4657
4730
|
let t = e.ownerDocument.defaultView;
|
|
4658
|
-
t && (
|
|
4731
|
+
t && (L = new t.ResizeObserver(() => {
|
|
4659
4732
|
i((e) => e + 1);
|
|
4660
|
-
}),
|
|
4733
|
+
}), L.observe(e));
|
|
4661
4734
|
}, be = () => {
|
|
4662
|
-
let e =
|
|
4663
|
-
|
|
4735
|
+
let e = B();
|
|
4736
|
+
R !== e && (R?.removeEventListener("resize", xe), R = e, R.addEventListener("resize", xe, { passive: !0 }));
|
|
4664
4737
|
};
|
|
4665
4738
|
function xe() {
|
|
4666
4739
|
i((e) => e + 1);
|
|
4667
4740
|
}
|
|
4668
|
-
let Se =
|
|
4741
|
+
let Se = W();
|
|
4669
4742
|
ye(Se);
|
|
4670
4743
|
let Ce = e.runtime.subscribe(() => {
|
|
4671
4744
|
let t = e.runtime.selectGestureActive();
|
|
4672
|
-
h() && t ? (k = !0,
|
|
4673
|
-
let r =
|
|
4674
|
-
i && (Se = r, ye(Se), k && (k = !1, O = r)), ve(), i && xe(), n((e) => e + 1),
|
|
4745
|
+
h() && t ? (k = !0, U()) : h() && A !== null && !ie(A, re()) && (O = W(), k = !1, U());
|
|
4746
|
+
let r = W(), i = r !== Se;
|
|
4747
|
+
i && (Se = r, ye(Se), k && (k = !1, O = r)), ve(), i && xe(), n((e) => e + 1), he();
|
|
4675
4748
|
});
|
|
4676
|
-
ve(),
|
|
4677
|
-
|
|
4678
|
-
for (let e of
|
|
4749
|
+
ve(), B().queueMicrotask(pe), St(() => {
|
|
4750
|
+
L?.disconnect(), L = null, R?.removeEventListener("resize", xe), R = null, ge();
|
|
4751
|
+
for (let e of z.keys()) le(e);
|
|
4679
4752
|
Ce();
|
|
4680
4753
|
});
|
|
4681
4754
|
let we = Gt(() => (t(), e.runtime.currentSelection())), Te = Gt(() => (t(), e.runtime.annotations())), Ee = Gt(() => {
|
|
@@ -4704,7 +4777,7 @@ function qo(e) {
|
|
|
4704
4777
|
}), Ae = () => we().elements.length > 0 || we().region !== null, je = () => {
|
|
4705
4778
|
t();
|
|
4706
4779
|
let e = A;
|
|
4707
|
-
return e !== null &&
|
|
4780
|
+
return e !== null && ie(e, re());
|
|
4708
4781
|
}, Me = Gt(() => {
|
|
4709
4782
|
let e = we(), t = e.elements.filter((e) => e.isConnected).map((e) => {
|
|
4710
4783
|
let t = e.getBoundingClientRect();
|
|
@@ -4733,7 +4806,7 @@ function qo(e) {
|
|
|
4733
4806
|
top: t.top,
|
|
4734
4807
|
width: t.width,
|
|
4735
4808
|
height: t.height
|
|
4736
|
-
}, r =
|
|
4809
|
+
}, r = B(), i = [...ut(Re).values()].map((e) => ({
|
|
4737
4810
|
left: e.left,
|
|
4738
4811
|
top: e.top,
|
|
4739
4812
|
width: 24,
|
|
@@ -4747,7 +4820,7 @@ function qo(e) {
|
|
|
4747
4820
|
}, {
|
|
4748
4821
|
obstacles: i,
|
|
4749
4822
|
maxShiftRings: 1
|
|
4750
|
-
}), o = a?.left ?? zo(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? zo(n.top, 4, r.innerHeight - 24 - 4), c =
|
|
4823
|
+
}), o = a?.left ?? zo(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? zo(n.top, 4, r.innerHeight - 24 - 4), c = F === e, l = V() && !c;
|
|
4751
4824
|
return {
|
|
4752
4825
|
left: c || l ? o : o + r.scrollX,
|
|
4753
4826
|
top: c || l ? s : s + r.scrollY,
|
|
@@ -4758,7 +4831,7 @@ function qo(e) {
|
|
|
4758
4831
|
};
|
|
4759
4832
|
}, Re = Gt(() => {
|
|
4760
4833
|
t(), r();
|
|
4761
|
-
let n =
|
|
4834
|
+
let n = B(), i = Te().flatMap((t) => {
|
|
4762
4835
|
let n = e.runtime.annotationRect(t.id);
|
|
4763
4836
|
return n ? [{
|
|
4764
4837
|
id: t.id,
|
|
@@ -4771,9 +4844,9 @@ function qo(e) {
|
|
|
4771
4844
|
}, { obstacles: Me() }).map((e) => [e.id, e]));
|
|
4772
4845
|
}), ze = (e) => Re().get(e) ?? null, Be = (e, t) => {
|
|
4773
4846
|
r();
|
|
4774
|
-
let n =
|
|
4847
|
+
let n = z.get(e);
|
|
4775
4848
|
if (!n?.anchorName || !n.target.isConnected) return {
|
|
4776
|
-
...
|
|
4849
|
+
...ne(t),
|
|
4777
4850
|
nativeAnchor: !1
|
|
4778
4851
|
};
|
|
4779
4852
|
let i = n.target.getBoundingClientRect();
|
|
@@ -4785,7 +4858,7 @@ function qo(e) {
|
|
|
4785
4858
|
anchorY: t.top - i.top
|
|
4786
4859
|
};
|
|
4787
4860
|
}, Ve = () => {
|
|
4788
|
-
let e = Ne(), t =
|
|
4861
|
+
let e = Ne(), t = B(), n = p();
|
|
4789
4862
|
return n && e ? {
|
|
4790
4863
|
left: e.left + n.left,
|
|
4791
4864
|
top: e.top + n.top
|
|
@@ -4796,8 +4869,8 @@ function qo(e) {
|
|
|
4796
4869
|
}, He = () => {
|
|
4797
4870
|
r();
|
|
4798
4871
|
let e = Ve(), t = Ie();
|
|
4799
|
-
if (!t?.isConnected ||
|
|
4800
|
-
...
|
|
4872
|
+
if (!t?.isConnected || F !== t) return {
|
|
4873
|
+
...ne(e),
|
|
4801
4874
|
nativeAnchor: !1
|
|
4802
4875
|
};
|
|
4803
4876
|
let n = t.getBoundingClientRect();
|
|
@@ -4809,7 +4882,7 @@ function qo(e) {
|
|
|
4809
4882
|
anchorY: e.top - n.top
|
|
4810
4883
|
};
|
|
4811
4884
|
}, Ue = (e, t) => {
|
|
4812
|
-
let n =
|
|
4885
|
+
let n = B(), r = Re(), i = r.get(e);
|
|
4813
4886
|
if (!i) return Go(t, 272, 176, n);
|
|
4814
4887
|
let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
|
|
4815
4888
|
left: e.left,
|
|
@@ -4866,7 +4939,7 @@ function qo(e) {
|
|
|
4866
4939
|
top: n.top + r.top
|
|
4867
4940
|
} : Ue(t, n);
|
|
4868
4941
|
}, Ge = (t) => {
|
|
4869
|
-
|
|
4942
|
+
B().queueMicrotask(() => {
|
|
4870
4943
|
let n = e.runtime.annotationRect(t);
|
|
4871
4944
|
n && f((e) => {
|
|
4872
4945
|
if (e[t]) return e;
|
|
@@ -4881,13 +4954,13 @@ function qo(e) {
|
|
|
4881
4954
|
});
|
|
4882
4955
|
});
|
|
4883
4956
|
}, Ke = (e) => Be(e, We(e)), qe = (e) => {
|
|
4884
|
-
k = !1, A = null, g(!1),
|
|
4957
|
+
k = !1, A = null, g(!1), fe(e), Ge(e), o(e), w(null), me(e);
|
|
4885
4958
|
}, Je = (t, n) => {
|
|
4886
4959
|
let r = t.currentTarget.ownerDocument.defaultView?.Element, i = t.target;
|
|
4887
4960
|
if (t.button !== 0 || r && i instanceof r && i.closest("button")) return;
|
|
4888
4961
|
let a = t.currentTarget.parentElement;
|
|
4889
4962
|
if (!a) return;
|
|
4890
|
-
let o = a.getBoundingClientRect(), s =
|
|
4963
|
+
let o = a.getBoundingClientRect(), s = B(), c = s.document.documentElement, l = c.style.userSelect;
|
|
4891
4964
|
c.style.setProperty("user-select", "none", "important"), j = {
|
|
4892
4965
|
surfaceId: n,
|
|
4893
4966
|
pointerId: t.pointerId,
|
|
@@ -4942,27 +5015,27 @@ function qo(e) {
|
|
|
4942
5015
|
S(!1);
|
|
4943
5016
|
}
|
|
4944
5017
|
}
|
|
4945
|
-
}, Xe =
|
|
5018
|
+
}, Xe = U, Ze = () => {
|
|
4946
5019
|
if (!Ae()) return;
|
|
4947
|
-
k = !1, A =
|
|
5020
|
+
k = !1, A = re(), v(""), b(null), w(null), o(null);
|
|
4948
5021
|
let e = Ne();
|
|
4949
5022
|
if (e) {
|
|
4950
|
-
let t = Ko(e, 272, 168,
|
|
5023
|
+
let t = Ko(e, 272, 168, B());
|
|
4951
5024
|
m({
|
|
4952
5025
|
left: t.left - e.left,
|
|
4953
5026
|
top: t.top - e.top
|
|
4954
5027
|
});
|
|
4955
5028
|
} else m(null);
|
|
4956
|
-
g(!0),
|
|
5029
|
+
g(!0), B().queueMicrotask(() => I?.sync());
|
|
4957
5030
|
}, Qe = () => {
|
|
4958
5031
|
let e = h();
|
|
4959
|
-
A !== null && !
|
|
5032
|
+
A !== null && !ie(A, re()) ? (O = W(), k = !1, ve(), xe()) : e && (k = !1), Xe();
|
|
4960
5033
|
}, $e = () => {
|
|
4961
5034
|
h() && (k = !0, Xe());
|
|
4962
5035
|
}, et = () => {
|
|
4963
5036
|
try {
|
|
4964
5037
|
let t = e.runtime.addSelectionAnnotation(_());
|
|
4965
|
-
k = !1, A = null, v(""), b(null), g(!1), m(null),
|
|
5038
|
+
k = !1, A = null, v(""), b(null), g(!1), m(null), fe(t.id), Ge(t.id), o(t.id), w(null), me(t.id);
|
|
4966
5039
|
} catch (e) {
|
|
4967
5040
|
b(e instanceof Error ? e.message : String(e));
|
|
4968
5041
|
}
|
|
@@ -5010,10 +5083,10 @@ function qo(e) {
|
|
|
5010
5083
|
}
|
|
5011
5084
|
});
|
|
5012
5085
|
return nr(() => (e) => {
|
|
5013
|
-
P = e,
|
|
5086
|
+
P = e, I?.sync();
|
|
5014
5087
|
}, t), Z(t, J(xi, { size: 14 })), q(() => ({
|
|
5015
|
-
e:
|
|
5016
|
-
t:
|
|
5088
|
+
e: V() ? "viewport" : "document",
|
|
5089
|
+
t: H(e().nativeAnchor),
|
|
5017
5090
|
a: {
|
|
5018
5091
|
position: e().nativeAnchor || e().viewportOwned ? "fixed" : "absolute",
|
|
5019
5092
|
left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
|
|
@@ -5088,10 +5161,10 @@ function qo(e) {
|
|
|
5088
5161
|
return Z(t, e), t;
|
|
5089
5162
|
})()
|
|
5090
5163
|
}), 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(() => ({
|
|
5091
|
-
e:
|
|
5092
|
-
t:
|
|
5164
|
+
e: V() ? "viewport" : "document",
|
|
5165
|
+
t: H(e().nativeAnchor),
|
|
5093
5166
|
a: {
|
|
5094
|
-
position: e().nativeAnchor ||
|
|
5167
|
+
position: e().nativeAnchor || V() ? "fixed" : "absolute",
|
|
5095
5168
|
left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
|
|
5096
5169
|
top: e().nativeAnchor ? `calc(anchor(top) + ${e().anchorY}px)` : `${e().top}px`,
|
|
5097
5170
|
translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
|
|
@@ -5118,7 +5191,7 @@ function qo(e) {
|
|
|
5118
5191
|
left: e.left,
|
|
5119
5192
|
top: e.top
|
|
5120
5193
|
}) : {
|
|
5121
|
-
...
|
|
5194
|
+
...ne({
|
|
5122
5195
|
left: e.left,
|
|
5123
5196
|
top: e.top
|
|
5124
5197
|
}),
|
|
@@ -5134,9 +5207,9 @@ function qo(e) {
|
|
|
5134
5207
|
});
|
|
5135
5208
|
return q(() => ({
|
|
5136
5209
|
e: t() ?? void 0,
|
|
5137
|
-
t:
|
|
5210
|
+
t: H(n().nativeAnchor),
|
|
5138
5211
|
a: {
|
|
5139
|
-
position: n().nativeAnchor ||
|
|
5212
|
+
position: n().nativeAnchor || V() ? "fixed" : "absolute",
|
|
5140
5213
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
5141
5214
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
5142
5215
|
width: `${e.width}px`,
|
|
@@ -5171,11 +5244,11 @@ function qo(e) {
|
|
|
5171
5244
|
"data-mesurer-layer": "evidence",
|
|
5172
5245
|
"data-mesurer-annotation-marker": "true",
|
|
5173
5246
|
onPointerEnter: () => {
|
|
5174
|
-
c(e.id),
|
|
5247
|
+
c(e.id), me(e.id);
|
|
5175
5248
|
},
|
|
5176
5249
|
onPointerLeave: () => c((t) => t === e.id ? null : t),
|
|
5177
5250
|
onFocus: () => {
|
|
5178
|
-
u(e.id),
|
|
5251
|
+
u(e.id), me(e.id);
|
|
5179
5252
|
},
|
|
5180
5253
|
onBlur: () => u((t) => t === e.id ? null : t),
|
|
5181
5254
|
onPointerDown: (t) => {
|
|
@@ -5196,13 +5269,13 @@ function qo(e) {
|
|
|
5196
5269
|
t: t() + 1,
|
|
5197
5270
|
a: i() ? "true" : void 0,
|
|
5198
5271
|
o: o() ? "true" : void 0,
|
|
5199
|
-
i:
|
|
5200
|
-
n:
|
|
5272
|
+
i: H(n().nativeAnchor),
|
|
5273
|
+
n: V() ? "viewport" : "document",
|
|
5201
5274
|
s: `Mesurer annotation ${t() + 1}: ${e.note}`,
|
|
5202
5275
|
h: e.note,
|
|
5203
5276
|
r: a() === e.id ? "true" : "false",
|
|
5204
5277
|
d: {
|
|
5205
|
-
position: n().nativeAnchor ||
|
|
5278
|
+
position: n().nativeAnchor || V() ? "fixed" : "absolute",
|
|
5206
5279
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
5207
5280
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
5208
5281
|
opacity: o() ? "0.36" : "1",
|
|
@@ -5268,7 +5341,7 @@ function qo(e) {
|
|
|
5268
5341
|
e.runtime.removeAnnotation(n), f((e) => {
|
|
5269
5342
|
let t = { ...e };
|
|
5270
5343
|
return delete t[n], t;
|
|
5271
|
-
}),
|
|
5344
|
+
}), le(n), c((e) => e === n ? null : e), u((e) => e === n ? null : e), o(null), w(null);
|
|
5272
5345
|
}
|
|
5273
5346
|
}), v = Y("button", {
|
|
5274
5347
|
type: "button",
|
|
@@ -5292,10 +5365,10 @@ function qo(e) {
|
|
|
5292
5365
|
})()
|
|
5293
5366
|
}), null), q(() => ({
|
|
5294
5367
|
e: t().id,
|
|
5295
|
-
t:
|
|
5296
|
-
a:
|
|
5368
|
+
t: H(n().nativeAnchor),
|
|
5369
|
+
a: V() ? "viewport" : "document",
|
|
5297
5370
|
o: {
|
|
5298
|
-
position: n().nativeAnchor ||
|
|
5371
|
+
position: n().nativeAnchor || V() ? "fixed" : "absolute",
|
|
5299
5372
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
5300
5373
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
5301
5374
|
translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
|
|
@@ -6172,7 +6245,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6172
6245
|
} catch {
|
|
6173
6246
|
D("Could not save screenshot", !0);
|
|
6174
6247
|
}
|
|
6175
|
-
},
|
|
6248
|
+
}, F = (e, t, n) => {
|
|
6176
6249
|
if (!v) return !1;
|
|
6177
6250
|
T();
|
|
6178
6251
|
let r = o.getBoundingClientRect();
|
|
@@ -6184,7 +6257,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6184
6257
|
top: r.top,
|
|
6185
6258
|
moved: !1
|
|
6186
6259
|
}, o.style.cursor = "grabbing", !0;
|
|
6187
|
-
},
|
|
6260
|
+
}, te = (e, t) => {
|
|
6188
6261
|
let n = x;
|
|
6189
6262
|
if (!n) return;
|
|
6190
6263
|
let r = e - n.startX, i = t - n.startY;
|
|
@@ -6192,42 +6265,42 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6192
6265
|
left: n.left + r,
|
|
6193
6266
|
top: n.top + i
|
|
6194
6267
|
});
|
|
6195
|
-
},
|
|
6268
|
+
}, I = () => {
|
|
6196
6269
|
let e = x;
|
|
6197
6270
|
e && (x = null, o.style.cursor = "grab", e.moved || N());
|
|
6198
|
-
},
|
|
6271
|
+
}, L = () => {
|
|
6199
6272
|
x && (x = null, o.style.cursor = "grab");
|
|
6200
|
-
}, L = (e) => {
|
|
6201
|
-
e.button !== 0 || !te(e.clientX, e.clientY, null) || e.preventDefault();
|
|
6202
6273
|
}, R = (e) => {
|
|
6203
|
-
|
|
6274
|
+
e.button !== 0 || !F(e.clientX, e.clientY, null) || e.preventDefault();
|
|
6204
6275
|
}, z = (e) => {
|
|
6205
|
-
|
|
6276
|
+
x?.pointerId === null && te(e.clientX, e.clientY);
|
|
6206
6277
|
}, B = (e) => {
|
|
6207
|
-
e.
|
|
6278
|
+
e.button === 0 && x?.pointerId === null && I();
|
|
6208
6279
|
}, V = (e) => {
|
|
6280
|
+
e.pointerType !== "mouse" && e.button === 0 && F(e.clientX, e.clientY, e.pointerId) && (o.setPointerCapture?.(e.pointerId), e.preventDefault());
|
|
6281
|
+
}, H = (e) => {
|
|
6282
|
+
let t = x?.pointerId;
|
|
6283
|
+
t != null && t === e.pointerId && te(e.clientX, e.clientY);
|
|
6284
|
+
}, ne = (e) => {
|
|
6209
6285
|
let t = x?.pointerId;
|
|
6210
|
-
t != null && t === e.pointerId &&
|
|
6286
|
+
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
|
|
6211
6287
|
}, re = (e) => {
|
|
6212
6288
|
let t = x?.pointerId;
|
|
6213
|
-
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId),
|
|
6289
|
+
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), L());
|
|
6214
6290
|
}, ie = (e) => {
|
|
6215
|
-
let t = x?.pointerId;
|
|
6216
|
-
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
|
|
6217
|
-
}, ae = (e) => {
|
|
6218
6291
|
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), N());
|
|
6219
|
-
},
|
|
6292
|
+
}, U = (e) => {
|
|
6220
6293
|
e.target !== s && e.preventDefault();
|
|
6221
|
-
},
|
|
6294
|
+
}, ae = (e) => {
|
|
6222
6295
|
e.target === d && O();
|
|
6223
|
-
},
|
|
6296
|
+
}, W = (e) => {
|
|
6224
6297
|
e.key === "Escape" && d.style.display !== "none" && (e.preventDefault(), e.stopImmediatePropagation(), O());
|
|
6225
6298
|
};
|
|
6226
6299
|
return c.addEventListener("pointerdown", (e) => e.stopPropagation()), c.addEventListener("mousedown", (e) => e.stopPropagation()), c.addEventListener("click", (e) => {
|
|
6227
6300
|
e.stopPropagation(), A();
|
|
6228
|
-
}), o.addEventListener("mousedown",
|
|
6301
|
+
}), o.addEventListener("mousedown", R), o.addEventListener("pointerdown", V), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", U), d.addEventListener("click", ae), m.addEventListener("click", () => {
|
|
6229
6302
|
P();
|
|
6230
|
-
}), h.addEventListener("click", ee), g.addEventListener("click", O), t.addEventListener("mousemove",
|
|
6303
|
+
}), h.addEventListener("click", ee), g.addEventListener("click", O), t.addEventListener("mousemove", z, !0), t.addEventListener("mouseup", B, !0), t.addEventListener("pointermove", H, !0), t.addEventListener("pointerup", ne, !0), t.addEventListener("pointercancel", re, !0), t.addEventListener("keydown", W, !0), {
|
|
6231
6304
|
show(e, n) {
|
|
6232
6305
|
if (w) return;
|
|
6233
6306
|
T(), O(), k(), v = e;
|
|
@@ -6236,7 +6309,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6236
6309
|
},
|
|
6237
6310
|
dismiss: A,
|
|
6238
6311
|
dispose() {
|
|
6239
|
-
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove",
|
|
6312
|
+
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", z, !0), t.removeEventListener("mouseup", B, !0), t.removeEventListener("pointermove", H, !0), t.removeEventListener("pointerup", ne, !0), t.removeEventListener("pointercancel", re, !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());
|
|
6240
6313
|
}
|
|
6241
6314
|
};
|
|
6242
6315
|
}, sc = "mesurer.screenshot", cc = "screenshot", lc = "mesurer.screenshot.settings", uc = "mesurer.screenshot.active", dc = "runtime:solid", fc = "screenshot.toggle", pc = 2500, mc = 0, hc = [
|
|
@@ -6480,9 +6553,9 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6480
6553
|
}, pc);
|
|
6481
6554
|
}, ee = () => {
|
|
6482
6555
|
_ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
|
|
6483
|
-
},
|
|
6556
|
+
}, F = () => {
|
|
6484
6557
|
b += 1, ee(), Hr(i);
|
|
6485
|
-
},
|
|
6558
|
+
}, te = async (e) => {
|
|
6486
6559
|
if (x) throw Error("A screenshot capture is already running.");
|
|
6487
6560
|
if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
|
|
6488
6561
|
x = !0;
|
|
@@ -6524,10 +6597,10 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6524
6597
|
} finally {
|
|
6525
6598
|
d.style.visibility = "", u(), a.finishCapture(), x = !1;
|
|
6526
6599
|
}
|
|
6527
|
-
},
|
|
6600
|
+
}, I = async () => {
|
|
6528
6601
|
if (T().toolEnabled) {
|
|
6529
6602
|
if (w()) {
|
|
6530
|
-
|
|
6603
|
+
F();
|
|
6531
6604
|
return;
|
|
6532
6605
|
}
|
|
6533
6606
|
if (!S) {
|
|
@@ -6542,7 +6615,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6542
6615
|
}
|
|
6543
6616
|
}
|
|
6544
6617
|
}
|
|
6545
|
-
},
|
|
6618
|
+
}, L = (e) => {
|
|
6546
6619
|
!w() || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), _ = {
|
|
6547
6620
|
x: e.clientX,
|
|
6548
6621
|
y: e.clientY
|
|
@@ -6550,7 +6623,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6550
6623
|
width: i.innerWidth,
|
|
6551
6624
|
height: i.innerHeight
|
|
6552
6625
|
})), d.setPointerCapture?.(e.pointerId));
|
|
6553
|
-
},
|
|
6626
|
+
}, R = (e) => {
|
|
6554
6627
|
!w() || !_ || A(vr(_, {
|
|
6555
6628
|
x: e.clientX,
|
|
6556
6629
|
y: e.clientY
|
|
@@ -6558,7 +6631,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6558
6631
|
width: i.innerWidth,
|
|
6559
6632
|
height: i.innerHeight
|
|
6560
6633
|
}));
|
|
6561
|
-
},
|
|
6634
|
+
}, z = (e) => {
|
|
6562
6635
|
let t = _;
|
|
6563
6636
|
if (_ = null, !w() || !t) return;
|
|
6564
6637
|
d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId);
|
|
@@ -6573,22 +6646,22 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6573
6646
|
A(null);
|
|
6574
6647
|
return;
|
|
6575
6648
|
}
|
|
6576
|
-
|
|
6649
|
+
te(n).catch(() => void 0).finally(() => {
|
|
6577
6650
|
w() && ee();
|
|
6578
6651
|
});
|
|
6579
|
-
}, z = (e) => {
|
|
6580
|
-
_ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
|
|
6581
6652
|
}, B = (e) => {
|
|
6582
|
-
|
|
6653
|
+
_ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
|
|
6654
|
+
}, V = (e) => {
|
|
6655
|
+
e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), F());
|
|
6583
6656
|
};
|
|
6584
|
-
d.addEventListener("pointerdown",
|
|
6585
|
-
let
|
|
6657
|
+
d.addEventListener("pointerdown", L), d.addEventListener("pointermove", R), d.addEventListener("pointerup", z), d.addEventListener("pointercancel", B), i.addEventListener("keydown", V, !0);
|
|
6658
|
+
let H = {
|
|
6586
6659
|
active: w,
|
|
6587
6660
|
settings: T,
|
|
6588
6661
|
setSettings: E,
|
|
6589
|
-
start:
|
|
6590
|
-
cancel:
|
|
6591
|
-
capture:
|
|
6662
|
+
start: I,
|
|
6663
|
+
cancel: F,
|
|
6664
|
+
capture: te
|
|
6592
6665
|
};
|
|
6593
6666
|
t.tool.register({
|
|
6594
6667
|
id: "screenshot",
|
|
@@ -6634,7 +6707,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6634
6707
|
description: "Show the camera tool in the toolbar.",
|
|
6635
6708
|
value: () => T().toolEnabled,
|
|
6636
6709
|
set: (e) => {
|
|
6637
|
-
E({ toolEnabled: e }), !e && w() &&
|
|
6710
|
+
E({ toolEnabled: e }), !e && w() && F();
|
|
6638
6711
|
}
|
|
6639
6712
|
},
|
|
6640
6713
|
{
|
|
@@ -6662,11 +6735,11 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
|
|
|
6662
6735
|
set: (e) => E({ includeMeasurements: e })
|
|
6663
6736
|
}
|
|
6664
6737
|
]
|
|
6665
|
-
}), t.command.register(fc,
|
|
6666
|
-
C = !0, b += 1, d.removeEventListener("pointerdown",
|
|
6738
|
+
}), t.command.register(fc, I), t.service.provide(cc, H), t.lifecycle.onDispose(() => {
|
|
6739
|
+
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();
|
|
6667
6740
|
});
|
|
6668
6741
|
}
|
|
6669
|
-
}), Oc = "0.2.0-beta.
|
|
6742
|
+
}), Oc = "0.2.0-beta.13", kc = Aa, Ac = Da, jc = Oa, Mc = ja, Nc = ka, Pc = () => ({
|
|
6670
6743
|
...So(),
|
|
6671
6744
|
version: Oc
|
|
6672
6745
|
}), Fc = (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, Ic = (e) => {
|
|
@@ -7288,34 +7361,34 @@ function Cl(e = {}) {
|
|
|
7288
7361
|
};
|
|
7289
7362
|
}
|
|
7290
7363
|
//#endregion
|
|
7291
|
-
//#region src/codex
|
|
7292
|
-
var wl = "mesurer.codex", Tl = "codex:v1", El =
|
|
7364
|
+
//#region src/plugins/codex/index.ts
|
|
7365
|
+
var wl = "mesurer.codex", Tl = "codex:v1", El = 2e3, Dl = 750, Ol = 1800, kl = 2e3, Al = 12e4, jl = 10, Ml = 5, Nl = [
|
|
7293
7366
|
"Implement the current human feedback from Mesurer in this project.",
|
|
7294
7367
|
"Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
|
|
7295
7368
|
"and verify the affected UI in the live page with Mesurer before claiming completion."
|
|
7296
|
-
].join(" "),
|
|
7369
|
+
].join(" "), Pl = {
|
|
7297
7370
|
viewBox: "0 0 256 256",
|
|
7298
7371
|
paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
|
|
7299
|
-
},
|
|
7372
|
+
}, Fl = {
|
|
7300
7373
|
viewBox: "0 0 256 256",
|
|
7301
7374
|
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"]
|
|
7302
|
-
},
|
|
7375
|
+
}, Il = {
|
|
7303
7376
|
viewBox: "0 0 256 256",
|
|
7304
7377
|
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"]
|
|
7305
|
-
},
|
|
7378
|
+
}, Ll = () => {
|
|
7306
7379
|
try {
|
|
7307
|
-
let
|
|
7308
|
-
return
|
|
7380
|
+
let e = globalThis.location;
|
|
7381
|
+
return e?.origin ? `mesurer-codex-ui:v2:${e.origin}${e.pathname}` : null;
|
|
7309
7382
|
} catch {
|
|
7310
7383
|
return null;
|
|
7311
7384
|
}
|
|
7312
|
-
},
|
|
7313
|
-
let
|
|
7314
|
-
if (!
|
|
7385
|
+
}, Rl = () => {
|
|
7386
|
+
let e = Ll();
|
|
7387
|
+
if (!e) return null;
|
|
7315
7388
|
try {
|
|
7316
|
-
let
|
|
7317
|
-
if (!
|
|
7318
|
-
let n = JSON.parse(
|
|
7389
|
+
let t = globalThis.sessionStorage?.getItem(e);
|
|
7390
|
+
if (!t) return null;
|
|
7391
|
+
let n = JSON.parse(t);
|
|
7319
7392
|
if (n.version !== 1) return null;
|
|
7320
7393
|
let r = n.originThread?.trim() || null, i = n.selectedThread?.trim() || null, a = n.delivery;
|
|
7321
7394
|
return {
|
|
@@ -7335,39 +7408,41 @@ var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2
|
|
|
7335
7408
|
} catch {
|
|
7336
7409
|
return null;
|
|
7337
7410
|
}
|
|
7338
|
-
},
|
|
7339
|
-
let
|
|
7340
|
-
if (
|
|
7341
|
-
globalThis.sessionStorage?.setItem(
|
|
7411
|
+
}, zl = (e) => {
|
|
7412
|
+
let t = Ll();
|
|
7413
|
+
if (t) try {
|
|
7414
|
+
globalThis.sessionStorage?.setItem(t, JSON.stringify(e));
|
|
7342
7415
|
} catch {}
|
|
7343
|
-
},
|
|
7344
|
-
let
|
|
7345
|
-
|
|
7346
|
-
|
|
7347
|
-
|
|
7348
|
-
|
|
7349
|
-
|
|
7350
|
-
|
|
7351
|
-
|
|
7352
|
-
|
|
7353
|
-
|
|
7354
|
-
|
|
7355
|
-
|
|
7356
|
-
|
|
7357
|
-
|
|
7358
|
-
|
|
7359
|
-
|
|
7360
|
-
|
|
7361
|
-
|
|
7362
|
-
|
|
7363
|
-
|
|
7364
|
-
|
|
7365
|
-
|
|
7416
|
+
}, Bl = async (e) => {
|
|
7417
|
+
let t = window.__MESURER_HOST__?.codexBridge;
|
|
7418
|
+
if (!t) throw Error("Codex Bridge is unavailable in this host.");
|
|
7419
|
+
let n = await t(e);
|
|
7420
|
+
if (n.ok === !1) throw Error(n.error ?? "Codex Bridge request failed.");
|
|
7421
|
+
return n;
|
|
7422
|
+
}, Vl = (e) => {
|
|
7423
|
+
let t = e.runtime;
|
|
7424
|
+
return !t || ![
|
|
7425
|
+
"shared",
|
|
7426
|
+
"standalone",
|
|
7427
|
+
"desktop",
|
|
7428
|
+
"none"
|
|
7429
|
+
].includes(t.source) || ![
|
|
7430
|
+
"shared-app-server",
|
|
7431
|
+
"desktop-queue",
|
|
7432
|
+
"private-stdio",
|
|
7433
|
+
"none"
|
|
7434
|
+
].includes(t.transport) || t.reason !== null && t.reason !== "desktop-private-transport" && t.reason !== "runtime-not-found" ? null : {
|
|
7435
|
+
source: t.source,
|
|
7436
|
+
transport: t.transport,
|
|
7437
|
+
available: t.available === !0,
|
|
7438
|
+
reason: t.reason
|
|
7439
|
+
};
|
|
7440
|
+
}, Hl = (e) => ({
|
|
7366
7441
|
thread: e.thread?.trim() || null,
|
|
7367
7442
|
threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
|
|
7368
|
-
}),
|
|
7443
|
+
}), Ul = (e) => {
|
|
7369
7444
|
let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
|
|
7370
|
-
if (!t || !n || !r) throw Error("
|
|
7445
|
+
if (!t || !n || !r) throw Error("Codex Bridge returned an invalid delivery state.");
|
|
7371
7446
|
let i = {
|
|
7372
7447
|
id: t,
|
|
7373
7448
|
thread: n,
|
|
@@ -7377,7 +7452,7 @@ var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2
|
|
|
7377
7452
|
updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
|
|
7378
7453
|
};
|
|
7379
7454
|
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;
|
|
7380
|
-
},
|
|
7455
|
+
}, Wl = (e) => ({
|
|
7381
7456
|
thread: e.thread?.trim() || null,
|
|
7382
7457
|
threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
|
|
7383
7458
|
let t = e.id?.trim() ?? "";
|
|
@@ -7389,7 +7464,7 @@ var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2
|
|
|
7389
7464
|
}] : [];
|
|
7390
7465
|
}) : [],
|
|
7391
7466
|
hasMore: e.hasMore === !0
|
|
7392
|
-
}),
|
|
7467
|
+
}), Gl = async (e, t, n) => {
|
|
7393
7468
|
let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
|
|
7394
7469
|
let t = i.find((t) => t.id === e);
|
|
7395
7470
|
return t ? [t] : [];
|
|
@@ -7412,76 +7487,87 @@ var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2
|
|
|
7412
7487
|
])
|
|
7413
7488
|
].join("\n").trimEnd()
|
|
7414
7489
|
};
|
|
7415
|
-
},
|
|
7416
|
-
function
|
|
7417
|
-
let t = e.
|
|
7490
|
+
}, Kl = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, ql = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Jl = (e) => e instanceof Error && e.message === "Codex Bridge is unavailable in this host.";
|
|
7491
|
+
function Yl(e = {}) {
|
|
7492
|
+
let t = e.instruction?.trim() || Nl, n = e.ui ?? !0, r = e.clearCompletedAnnotations ?? !0;
|
|
7418
7493
|
return {
|
|
7419
7494
|
id: wl,
|
|
7420
7495
|
version: Oc,
|
|
7421
7496
|
requires: [pl],
|
|
7422
7497
|
provides: [Tl],
|
|
7423
7498
|
setup(e) {
|
|
7424
|
-
let
|
|
7425
|
-
if (!
|
|
7426
|
-
let
|
|
7427
|
-
id:
|
|
7428
|
-
thread:
|
|
7429
|
-
status:
|
|
7430
|
-
annotationIds:
|
|
7431
|
-
queuedSubmissionId:
|
|
7432
|
-
dispatch:
|
|
7433
|
-
dispatchError:
|
|
7434
|
-
} : null, x = 0, S = 0, C = null, w = !1, T = async () =>
|
|
7499
|
+
let i = e.service.get(pl);
|
|
7500
|
+
if (!i) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
|
|
7501
|
+
let a = n ? Rl() : null, o = "unknown", s = null, c = !1, l = a?.originThread ?? null, u = a?.selectedThread ?? a?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = Ml, _, v = "", y = null, b = a?.delivery ? {
|
|
7502
|
+
id: a.delivery.id,
|
|
7503
|
+
thread: a.delivery.thread,
|
|
7504
|
+
status: a.delivery.status,
|
|
7505
|
+
annotationIds: a.delivery.annotationIds,
|
|
7506
|
+
queuedSubmissionId: a.delivery.queuedSubmissionId ?? null,
|
|
7507
|
+
dispatch: a.delivery.dispatch ?? null,
|
|
7508
|
+
dispatchError: a.delivery.dispatchError ?? null
|
|
7509
|
+
} : null, x = 0, S = 0, C = null, w = !1, T = async () => {
|
|
7510
|
+
let e = Vl(await Bl({ action: "runtime" }));
|
|
7511
|
+
if (!e) throw Error("Codex Bridge returned an invalid runtime state.");
|
|
7512
|
+
return s = e, e;
|
|
7513
|
+
}, E = async () => {
|
|
7514
|
+
let e = await Bl({
|
|
7515
|
+
action: "health",
|
|
7516
|
+
thread: u ?? l ?? void 0
|
|
7517
|
+
});
|
|
7518
|
+
return s = Vl(e) ?? s, Hl(e);
|
|
7519
|
+
}, D = E, O = async (e) => Ul(await Bl({
|
|
7520
|
+
action: "delivery",
|
|
7521
|
+
deliveryId: e
|
|
7522
|
+
})), k = async (e) => {
|
|
7435
7523
|
if (!e.id || !e.thread) throw Error("Cannot restore a Codex delivery without its id and thread.");
|
|
7436
|
-
let
|
|
7524
|
+
let t = {
|
|
7525
|
+
action: "restore",
|
|
7437
7526
|
deliveryId: e.id,
|
|
7438
7527
|
thread: e.thread
|
|
7439
7528
|
};
|
|
7440
|
-
return e.queuedSubmissionId && (
|
|
7441
|
-
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
|
|
7447
|
-
|
|
7448
|
-
|
|
7449
|
-
return r && n.set("thread", r), Gl(await Hl(t, `threads?${n.toString()}`));
|
|
7450
|
-
}, k = () => u ?? l ?? (d ? null : f), A = () => {
|
|
7451
|
-
if (!r) return;
|
|
7529
|
+
return e.queuedSubmissionId && (t.queuedSubmissionId = e.queuedSubmissionId), Ul(await Bl(t));
|
|
7530
|
+
}, A = async (e = {}) => {
|
|
7531
|
+
let t = {
|
|
7532
|
+
action: "threads",
|
|
7533
|
+
limit: e.limit ?? jl
|
|
7534
|
+
}, n = e.thread?.trim();
|
|
7535
|
+
return n && (t.thread = n), Wl(await Bl(t));
|
|
7536
|
+
}, j = () => u ?? l ?? (d ? null : f), M = () => {
|
|
7537
|
+
if (!n) return;
|
|
7452
7538
|
let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
|
|
7453
7539
|
id: b.id,
|
|
7454
|
-
thread: b.thread ??
|
|
7540
|
+
thread: b.thread ?? j() ?? "",
|
|
7455
7541
|
status: b.status,
|
|
7456
7542
|
annotationIds: [...b.annotationIds],
|
|
7457
7543
|
queuedSubmissionId: b.queuedSubmissionId,
|
|
7458
7544
|
dispatch: b.dispatch,
|
|
7459
7545
|
dispatchError: b.dispatchError
|
|
7460
7546
|
} : null;
|
|
7461
|
-
|
|
7547
|
+
zl({
|
|
7462
7548
|
version: 1,
|
|
7463
7549
|
originThread: l,
|
|
7464
7550
|
selectedThread: u,
|
|
7465
7551
|
delivery: e?.thread ? e : null
|
|
7466
7552
|
});
|
|
7467
|
-
},
|
|
7553
|
+
}, N = (e, t = !1) => {
|
|
7468
7554
|
let n = e.trim();
|
|
7469
|
-
n && ((t || !l) && (l = n), u = n, d = !1,
|
|
7470
|
-
},
|
|
7555
|
+
n && ((t || !l) && (l = n), u = n, d = !1, M());
|
|
7556
|
+
}, P = () => b !== null && [
|
|
7471
7557
|
"queueing",
|
|
7472
7558
|
"queued",
|
|
7473
7559
|
"working",
|
|
7474
7560
|
"completed"
|
|
7475
|
-
].includes(b.status),
|
|
7561
|
+
].includes(b.status), ee = (e) => e === "queueing" ? "Queueing…" : e === "queued" ? "Queued" : e === "working" ? "Working…" : e === "completed" ? "Done" : e === "interrupted" ? "Interrupted" : "Failed", F = () => b ? b.status === "queueing" ? "Queueing to Codex…" : b.status === "queued" ? b.dispatch === "desktop-wake-failed" ? "Queued — open Codex" : "Queued for Codex" : b.status === "working" ? "Codex working…" : b.status === "completed" ? "Codex finished" : b.status === "interrupted" ? "Codex interrupted" : "Queue failed" : null, te = () => b ? [
|
|
7476
7562
|
"queueing",
|
|
7477
7563
|
"queued",
|
|
7478
7564
|
"working"
|
|
7479
|
-
].includes(b.status) ?
|
|
7565
|
+
].includes(b.status) ? Fl : b.status === "completed" ? Il : Pl : Pl, I = () => {
|
|
7480
7566
|
let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
|
|
7481
7567
|
t.has(n.id) || (t.add(n.id), e.push(n));
|
|
7482
7568
|
}, r = (e) => ({
|
|
7483
7569
|
id: e,
|
|
7484
|
-
title: `Codex ${
|
|
7570
|
+
title: `Codex ${Kl(e)}`,
|
|
7485
7571
|
updatedAt: null,
|
|
7486
7572
|
connected: !0
|
|
7487
7573
|
});
|
|
@@ -7491,96 +7577,94 @@ function Xl(e = {}) {
|
|
|
7491
7577
|
for (let e of m) n(e);
|
|
7492
7578
|
for (let e of p) n(m.find((t) => t.id === e) ?? r(e));
|
|
7493
7579
|
return e;
|
|
7494
|
-
},
|
|
7495
|
-
if (
|
|
7496
|
-
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
|
|
7501
|
-
|
|
7580
|
+
}, L = (e = !1) => Promise.resolve(), R = () => {
|
|
7581
|
+
if (o !== "available") {
|
|
7582
|
+
let e = s?.source === "desktop" && s.reason === "desktop-private-transport";
|
|
7583
|
+
return [{
|
|
7584
|
+
id: "codex.thread.connect",
|
|
7585
|
+
label: o === "unavailable" ? e ? "Retry Codex Desktop" : "Retry Codex connection" : "Choose Codex thread…",
|
|
7586
|
+
run: () => L(!0)
|
|
7587
|
+
}];
|
|
7588
|
+
}
|
|
7589
|
+
let e = I(), t = e.slice(0, g), n = j(), r = t.map((e) => {
|
|
7590
|
+
let t = e.id === l ? "Current · " : e.connected ? "Loaded · " : "", r = b?.thread === e.id ? ` · ${ee(b.status)}` : "";
|
|
7502
7591
|
return {
|
|
7503
7592
|
id: `codex.thread.${e.id}`,
|
|
7504
|
-
label: `${t}${
|
|
7593
|
+
label: `${t}${ql(e.title)}${r}`,
|
|
7505
7594
|
checked: () => n === e.id,
|
|
7506
|
-
disabled: () =>
|
|
7595
|
+
disabled: () => P(),
|
|
7507
7596
|
run() {
|
|
7508
|
-
|
|
7597
|
+
P() || (N(e.id, !l), z());
|
|
7509
7598
|
}
|
|
7510
7599
|
};
|
|
7511
7600
|
});
|
|
7512
|
-
return g <
|
|
7601
|
+
return g < jl && (e.length > g || h) && r.push({
|
|
7513
7602
|
id: "codex.thread.show-more",
|
|
7514
7603
|
label: "Show 5 more…",
|
|
7515
7604
|
run() {
|
|
7516
|
-
g =
|
|
7605
|
+
g = jl, z();
|
|
7517
7606
|
}
|
|
7518
7607
|
}), r;
|
|
7519
|
-
},
|
|
7520
|
-
if (!
|
|
7521
|
-
let t =
|
|
7522
|
-
bridgeAvailability:
|
|
7608
|
+
}, z = () => {
|
|
7609
|
+
if (!n || w) return;
|
|
7610
|
+
let t = j(), r = R(), i = !P() && !d && o !== "unavailable" && (o === "unknown" || !!t), a = s?.source === "desktop" && s.reason === "desktop-private-transport", c = F() ?? (o === "unavailable" ? a ? "Codex Desktop not connected" : "Codex unavailable" : d || o === "available" && !t ? "Choose Codex thread" : "Queue to Codex"), l = JSON.stringify({
|
|
7611
|
+
bridgeAvailability: o,
|
|
7612
|
+
codexRuntime: s,
|
|
7523
7613
|
routeNeedsSelection: d,
|
|
7524
7614
|
target: t,
|
|
7525
|
-
label:
|
|
7615
|
+
label: c,
|
|
7526
7616
|
visibleThreadCount: g,
|
|
7527
7617
|
activeDelivery: b,
|
|
7528
|
-
items:
|
|
7618
|
+
items: r.map((e) => ({
|
|
7529
7619
|
id: e.id,
|
|
7530
7620
|
label: e.label,
|
|
7531
7621
|
checked: e.checked?.() ?? null,
|
|
7532
7622
|
disabled: e.disabled?.() ?? !1
|
|
7533
7623
|
}))
|
|
7534
7624
|
});
|
|
7535
|
-
|
|
7625
|
+
l !== v && (v = l, _?.dispose(), _ = e.tool.register({
|
|
7536
7626
|
id: "codex.send",
|
|
7537
|
-
label:
|
|
7627
|
+
label: c,
|
|
7538
7628
|
command: "codex.queue",
|
|
7539
7629
|
order: 73,
|
|
7540
7630
|
icon: te(),
|
|
7541
7631
|
disabled: () => !i,
|
|
7542
|
-
menu:
|
|
7632
|
+
menu: r.length ? {
|
|
7543
7633
|
label: "Codex destination",
|
|
7544
|
-
items:
|
|
7634
|
+
items: r
|
|
7545
7635
|
} : void 0
|
|
7546
7636
|
}));
|
|
7547
|
-
},
|
|
7548
|
-
if (
|
|
7549
|
-
let
|
|
7550
|
-
|
|
7551
|
-
|
|
7552
|
-
|
|
7553
|
-
|
|
7554
|
-
});
|
|
7555
|
-
m = t.threads, h = t.hasMore;
|
|
7556
|
-
} catch {
|
|
7557
|
-
m = p.map((e) => ({
|
|
7558
|
-
id: e,
|
|
7559
|
-
title: `Codex ${ql(e)}`,
|
|
7560
|
-
updatedAt: null,
|
|
7561
|
-
connected: !0
|
|
7562
|
-
})), h = !1;
|
|
7563
|
-
}
|
|
7637
|
+
}, B = async (e) => {
|
|
7638
|
+
if (o !== "available") return;
|
|
7639
|
+
let t = await A({
|
|
7640
|
+
limit: jl,
|
|
7641
|
+
thread: e ?? void 0
|
|
7642
|
+
});
|
|
7643
|
+
m = t.threads, h = t.hasMore, p = t.threads.filter((e) => e.connected).map((e) => e.id), f = t.thread;
|
|
7564
7644
|
};
|
|
7565
|
-
|
|
7645
|
+
L = (e = !1) => w || o === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
|
|
7566
7646
|
try {
|
|
7567
|
-
let e = await
|
|
7568
|
-
|
|
7569
|
-
let
|
|
7570
|
-
|
|
7647
|
+
let e = await D();
|
|
7648
|
+
o = "available", c = !0, f = e.thread, await B(u ?? l ?? e.thread);
|
|
7649
|
+
let t = u ?? l;
|
|
7650
|
+
t && p.includes(t) ? d = !1 : p.length === 1 ? N(p[0], !0) : d = !0, !d && t && M();
|
|
7571
7651
|
} catch (e) {
|
|
7572
|
-
throw
|
|
7652
|
+
throw o = "unavailable", s = await T().catch(() => s), e;
|
|
7573
7653
|
} finally {
|
|
7574
|
-
y = null,
|
|
7654
|
+
y = null, z();
|
|
7575
7655
|
}
|
|
7576
7656
|
})(), y);
|
|
7577
|
-
let
|
|
7657
|
+
let V = () => {
|
|
7578
7658
|
x &&= (globalThis.clearTimeout(x), 0), S &&= (globalThis.clearTimeout(S), 0);
|
|
7579
|
-
},
|
|
7659
|
+
}, H = () => {
|
|
7660
|
+
S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
|
|
7661
|
+
S = 0, b?.status === "completed" && (b = null, M(), z());
|
|
7662
|
+
}, Ol);
|
|
7663
|
+
}, ne = () => {
|
|
7580
7664
|
S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
|
|
7581
|
-
S = 0, b?.status
|
|
7582
|
-
},
|
|
7583
|
-
},
|
|
7665
|
+
S = 0, !(b?.status !== "queued" || b.dispatch !== "desktop-opened" && b.dispatch !== "desktop-wake-failed") && (b = null, M(), z());
|
|
7666
|
+
}, Ol);
|
|
7667
|
+
}, re = async (e) => {
|
|
7584
7668
|
if (!(!b || b.id !== e.id)) {
|
|
7585
7669
|
if (b = {
|
|
7586
7670
|
...b,
|
|
@@ -7589,104 +7673,106 @@ function Xl(e = {}) {
|
|
|
7589
7673
|
queuedSubmissionId: e.queuedSubmissionId ?? b.queuedSubmissionId,
|
|
7590
7674
|
dispatch: e.dispatch ?? b.dispatch,
|
|
7591
7675
|
dispatchError: e.dispatchError ?? b.dispatchError
|
|
7592
|
-
},
|
|
7593
|
-
|
|
7594
|
-
|
|
7676
|
+
}, M(), e.status === "queued" && (e.dispatch === "desktop-opened" || e.dispatch === "desktop-wake-failed")) {
|
|
7677
|
+
z(), ne();
|
|
7678
|
+
return;
|
|
7679
|
+
}
|
|
7680
|
+
if (e.status === "completed") {
|
|
7681
|
+
if (r) for (let e of b.annotationIds) await i.removeAnnotation(e);
|
|
7682
|
+
M(), z(), H();
|
|
7595
7683
|
return;
|
|
7596
7684
|
}
|
|
7597
7685
|
if (e.status === "interrupted") {
|
|
7598
|
-
|
|
7686
|
+
M(), z();
|
|
7599
7687
|
let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
|
|
7600
|
-
Date.now() - t <
|
|
7601
|
-
x = 0,
|
|
7602
|
-
},
|
|
7688
|
+
Date.now() - t < Al && (x = globalThis.setTimeout(() => {
|
|
7689
|
+
x = 0, ie(e.id);
|
|
7690
|
+
}, kl));
|
|
7603
7691
|
return;
|
|
7604
7692
|
}
|
|
7605
|
-
|
|
7606
|
-
x = 0,
|
|
7607
|
-
},
|
|
7693
|
+
z(), x = globalThis.setTimeout(() => {
|
|
7694
|
+
x = 0, ie(e.id);
|
|
7695
|
+
}, Dl);
|
|
7608
7696
|
}
|
|
7609
|
-
},
|
|
7697
|
+
}, ie = async (e) => {
|
|
7610
7698
|
if (!(w || b?.id !== e)) try {
|
|
7611
|
-
await
|
|
7612
|
-
} catch (
|
|
7699
|
+
await re(await O(e));
|
|
7700
|
+
} catch (t) {
|
|
7613
7701
|
if (b?.id !== e) return;
|
|
7614
|
-
let
|
|
7702
|
+
let n = t;
|
|
7615
7703
|
if (b.status === "queued" && b.thread) try {
|
|
7616
|
-
|
|
7617
|
-
let e = await
|
|
7618
|
-
await
|
|
7704
|
+
o !== "available" && await L(!0);
|
|
7705
|
+
let e = await k(b);
|
|
7706
|
+
await re(e);
|
|
7619
7707
|
return;
|
|
7620
7708
|
} catch (e) {
|
|
7621
|
-
|
|
7709
|
+
n = e;
|
|
7622
7710
|
}
|
|
7623
7711
|
if (b?.id !== e) return;
|
|
7624
7712
|
if (b.status === "interrupted") {
|
|
7625
|
-
|
|
7713
|
+
z();
|
|
7626
7714
|
return;
|
|
7627
7715
|
}
|
|
7628
7716
|
b = {
|
|
7629
7717
|
...b,
|
|
7630
7718
|
status: "failed"
|
|
7631
|
-
},
|
|
7719
|
+
}, M(), Jl(n) && (o = "unavailable"), z();
|
|
7632
7720
|
}
|
|
7633
|
-
},
|
|
7634
|
-
health:
|
|
7635
|
-
listThreads:
|
|
7636
|
-
delivery:
|
|
7721
|
+
}, U = {
|
|
7722
|
+
health: E,
|
|
7723
|
+
listThreads: A,
|
|
7724
|
+
delivery: O,
|
|
7637
7725
|
async useThread(e) {
|
|
7638
|
-
let
|
|
7639
|
-
if (!
|
|
7640
|
-
let
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
-
return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, L(), r;
|
|
7726
|
+
let t = e.trim();
|
|
7727
|
+
if (!t) throw Error("Codex thread must be a non-empty string.");
|
|
7728
|
+
let n = await Bl({
|
|
7729
|
+
action: "target",
|
|
7730
|
+
thread: t
|
|
7731
|
+
}), r = Hl(n);
|
|
7732
|
+
return s = Vl(n) ?? s, N(t, !l), f = r.thread, p = r.threads, o = "available", c = !0, z(), r;
|
|
7646
7733
|
},
|
|
7647
7734
|
async queue(e) {
|
|
7648
|
-
let
|
|
7649
|
-
if (
|
|
7650
|
-
let
|
|
7651
|
-
|
|
7735
|
+
let r = await Gl(i, e, t), a = e?.thread?.trim(), s = a || (n ? j() : null);
|
|
7736
|
+
if (n && !a && (d || !s)) throw Error("Choose a Codex thread before queueing feedback.");
|
|
7737
|
+
let c = { message: r.message };
|
|
7738
|
+
s && (c.thread = s);
|
|
7652
7739
|
try {
|
|
7653
|
-
let e = await
|
|
7654
|
-
|
|
7655
|
-
|
|
7656
|
-
|
|
7657
|
-
|
|
7658
|
-
|
|
7659
|
-
|
|
7660
|
-
thread: n,
|
|
7740
|
+
let e = await Bl({
|
|
7741
|
+
action: "queue",
|
|
7742
|
+
...c
|
|
7743
|
+
}), t = e.thread?.trim();
|
|
7744
|
+
if (!t) throw Error("Codex Bridge did not report the destination thread.");
|
|
7745
|
+
let n = {
|
|
7746
|
+
thread: t,
|
|
7661
7747
|
output: e.output ?? "",
|
|
7662
7748
|
delivery: "queued",
|
|
7663
7749
|
deliveryId: e.deliveryId?.trim() || null,
|
|
7664
7750
|
status: e.status ?? "queued",
|
|
7665
|
-
annotationIds:
|
|
7751
|
+
annotationIds: r.annotationIds
|
|
7666
7752
|
};
|
|
7667
|
-
return e.queuedSubmissionId !== void 0 && (
|
|
7753
|
+
return e.queuedSubmissionId !== void 0 && (n.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (n.dispatch = e.dispatch), e.dispatchError !== void 0 && (n.dispatchError = e.dispatchError?.trim() || null), n;
|
|
7668
7754
|
} catch (e) {
|
|
7669
|
-
throw
|
|
7755
|
+
throw n && Jl(e) && (o = "unavailable", z()), e;
|
|
7670
7756
|
}
|
|
7671
7757
|
},
|
|
7672
7758
|
send(e) {
|
|
7673
|
-
return
|
|
7759
|
+
return U.queue(e);
|
|
7674
7760
|
}
|
|
7675
7761
|
};
|
|
7676
|
-
e.service.provide(Tl,
|
|
7762
|
+
e.service.provide(Tl, U);
|
|
7677
7763
|
let ae = async () => {
|
|
7678
|
-
if (!(C ||
|
|
7764
|
+
if (!(C || P())) return V(), b = {
|
|
7679
7765
|
id: null,
|
|
7680
|
-
thread:
|
|
7766
|
+
thread: j(),
|
|
7681
7767
|
status: "queueing",
|
|
7682
7768
|
annotationIds: [],
|
|
7683
7769
|
queuedSubmissionId: null,
|
|
7684
7770
|
dispatch: null,
|
|
7685
7771
|
dispatchError: null
|
|
7686
|
-
},
|
|
7772
|
+
}, z(), C = (async () => {
|
|
7687
7773
|
try {
|
|
7688
|
-
|
|
7689
|
-
let e = await
|
|
7774
|
+
n && o !== "available" && await L(!0);
|
|
7775
|
+
let e = await U.queue();
|
|
7690
7776
|
b = {
|
|
7691
7777
|
id: e.deliveryId,
|
|
7692
7778
|
thread: e.thread,
|
|
@@ -7695,7 +7781,7 @@ function Xl(e = {}) {
|
|
|
7695
7781
|
queuedSubmissionId: e.queuedSubmissionId ?? null,
|
|
7696
7782
|
dispatch: e.dispatch ?? null,
|
|
7697
7783
|
dispatchError: e.dispatchError ?? null
|
|
7698
|
-
},
|
|
7784
|
+
}, N(e.thread, !l), M(), z(), console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`), e.deliveryId ? e.status === "completed" || e.status === "interrupted" ? await re({
|
|
7699
7785
|
id: e.deliveryId,
|
|
7700
7786
|
thread: e.thread,
|
|
7701
7787
|
status: e.status,
|
|
@@ -7703,12 +7789,12 @@ function Xl(e = {}) {
|
|
|
7703
7789
|
createdAt: 0,
|
|
7704
7790
|
updatedAt: 0
|
|
7705
7791
|
}) : x = globalThis.setTimeout(() => {
|
|
7706
|
-
x = 0,
|
|
7707
|
-
},
|
|
7708
|
-
S = 0, b?.id === null && b?.status === "queued" && (b = null,
|
|
7709
|
-
},
|
|
7792
|
+
x = 0, ie(e.deliveryId);
|
|
7793
|
+
}, Dl) : S = globalThis.setTimeout(() => {
|
|
7794
|
+
S = 0, b?.id === null && b?.status === "queued" && (b = null, M(), z());
|
|
7795
|
+
}, Ol);
|
|
7710
7796
|
} catch (e) {
|
|
7711
|
-
b = null,
|
|
7797
|
+
b = null, M(), z();
|
|
7712
7798
|
let t = e instanceof Error ? e.message : String(e);
|
|
7713
7799
|
throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`), e;
|
|
7714
7800
|
} finally {
|
|
@@ -7716,15 +7802,15 @@ function Xl(e = {}) {
|
|
|
7716
7802
|
}
|
|
7717
7803
|
})(), C;
|
|
7718
7804
|
};
|
|
7719
|
-
if (e.command.register("codex.queue", ae), e.command.register("codex.send", ae),
|
|
7720
|
-
L(), b?.id && (c = !0, x = globalThis.setTimeout(() => {
|
|
7721
|
-
x = 0, b?.id &&
|
|
7805
|
+
if (e.command.register("codex.queue", ae), e.command.register("codex.send", ae), n) {
|
|
7806
|
+
z(), window.__MESURER_HOST__?.codexBridge && L(!0).catch(() => void 0), b?.id && (c = !0, x = globalThis.setTimeout(() => {
|
|
7807
|
+
x = 0, b?.id && ie(b.id);
|
|
7722
7808
|
}, 0));
|
|
7723
7809
|
let t = globalThis.setInterval(() => {
|
|
7724
|
-
c &&
|
|
7725
|
-
},
|
|
7810
|
+
c && L().catch(() => void 0);
|
|
7811
|
+
}, El);
|
|
7726
7812
|
e.lifecycle.onDispose(() => {
|
|
7727
|
-
w = !0,
|
|
7813
|
+
w = !0, V(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
|
|
7728
7814
|
});
|
|
7729
7815
|
}
|
|
7730
7816
|
}
|
|
@@ -7732,12 +7818,12 @@ function Xl(e = {}) {
|
|
|
7732
7818
|
}
|
|
7733
7819
|
//#endregion
|
|
7734
7820
|
//#region src/screenshot.ts
|
|
7735
|
-
var
|
|
7821
|
+
var Xl = uc, Zl = sc, Ql = cc, $l = lc, eu = 4, tu = Ur, nu = (e, t) => br(e, t), ru = (e = /* @__PURE__ */ new Date()) => xr(e), iu = (e, t, n, r) => yr(e, t, n, r), au = (e, t, n) => vr(e, t, n), ou = (e, t) => Br(e, t), su = (e) => Hr(e), cu = (e = {}) => ({
|
|
7736
7822
|
...Dc(e),
|
|
7737
7823
|
version: Oc
|
|
7738
|
-
}),
|
|
7824
|
+
}), lu = (e) => Cr(e), uu = (e) => ({
|
|
7739
7825
|
...e,
|
|
7740
7826
|
version: Oc
|
|
7741
|
-
}),
|
|
7827
|
+
}), du = () => uu(wo()), fu = () => uu(To()), pu = () => uu(Eo()), mu = () => uu(Do()), hu = () => uu(Oo()), gu = () => uu(ko()), _u = () => uu(jo()), vu = () => uu(Ao()), yu = () => Mo().map(uu), bu = (e = [], t = []) => No(e, t).map((e) => e.id.startsWith("mesurer.") ? uu(e) : e);
|
|
7742
7828
|
//#endregion
|
|
7743
|
-
export { kc as MESURER_ARRANGE_ACTIVE_STATE_ID, Ac as MESURER_ARRANGE_PLUGIN_ID, jc as MESURER_ARRANGE_SERVICE_ID, Mc as MESURER_ARRANGE_SETTINGS_STATE_ID, Nc as MESURER_ARRANGE_STATE_ID, wl as MESURER_CODEX_PLUGIN_ID, Tl as MESURER_CODEX_SERVICE_ID, fl as MESURER_CONTEXT_PLUGIN_ID, pl as MESURER_CONTEXT_SERVICE_ID, ml as MESURER_CONTEXT_SETTINGS_STATE_ID, ul as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, sl as MESURER_LAYOUT_GUIDES_PLUGIN_ID, cl as MESURER_LAYOUT_GUIDES_SERVICE_ID, ll as MESURER_LAYOUT_GUIDES_STATE_ID,
|
|
7829
|
+
export { kc as MESURER_ARRANGE_ACTIVE_STATE_ID, Ac as MESURER_ARRANGE_PLUGIN_ID, jc as MESURER_ARRANGE_SERVICE_ID, Mc as MESURER_ARRANGE_SETTINGS_STATE_ID, Nc as MESURER_ARRANGE_STATE_ID, wl as MESURER_CODEX_PLUGIN_ID, Tl as MESURER_CODEX_SERVICE_ID, fl as MESURER_CONTEXT_PLUGIN_ID, pl as MESURER_CONTEXT_SERVICE_ID, ml as MESURER_CONTEXT_SETTINGS_STATE_ID, ul as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, sl as MESURER_LAYOUT_GUIDES_PLUGIN_ID, cl as MESURER_LAYOUT_GUIDES_SERVICE_ID, ll as MESURER_LAYOUT_GUIDES_STATE_ID, Xl as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Zl as MESURER_SCREENSHOT_PLUGIN_ID, Ql as MESURER_SCREENSHOT_SERVICE_ID, $l as MESURER_SCREENSHOT_SETTINGS_STATE_ID, eu as MIN_SCREENSHOT_SELECTION, Pc as arrange, tu as captureVisibleTabPng, Yl as codex, pu as colorPicker, bu as compose, Cl as context, nu as copyPngToClipboard, ru as createScreenshotFilename, iu as cropPngToViewportRect, yu as defaults, _u as distance, gu as guides, dl as layoutGuides, au as normalizeScreenshotRect, ou as prepareScreenshotCapture, su as releaseScreenshotCapture, mu as rulers, cu as screenshot, du as select, vu as settings, hu as typography, lu as waitForNextPaint, fu as xray };
|