mesurer-solid 0.1.8-beta.1 → 0.1.8-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +748 -738
- package/dist/inject-script.js +9 -9
- package/dist/inject.js +744 -734
- package/dist/plugins.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5142,8 +5142,10 @@ function oc(e) {
|
|
|
5142
5142
|
var n = X("div", {
|
|
5143
5143
|
"data-mesurer-measurement-chrome": "true",
|
|
5144
5144
|
class: "msr:absolute"
|
|
5145
|
-
})
|
|
5146
|
-
return
|
|
5145
|
+
});
|
|
5146
|
+
return Ji(() => (e) => {
|
|
5147
|
+
t = e;
|
|
5148
|
+
}, n), Q(n, Y(q, {
|
|
5147
5149
|
get when() {
|
|
5148
5150
|
return a().top;
|
|
5149
5151
|
},
|
|
@@ -5208,9 +5210,9 @@ function oc(e) {
|
|
|
5208
5210
|
"data-mesurer-measurement-label": "true",
|
|
5209
5211
|
class: "msr:pointer-events-none msr:absolute msr:rounded msr:px-1 msr:py-0.5 msr:text-[10px] msr:text-ink-50 msr:tabular-nums msr:select-none msr:-translate-x-1/2 msr:bg-ink-900/90"
|
|
5210
5212
|
}), t = Wi(" x ");
|
|
5211
|
-
Z(e, t)
|
|
5212
|
-
|
|
5213
|
-
|
|
5213
|
+
return Z(e, t), Ji(() => (e) => {
|
|
5214
|
+
n = e;
|
|
5215
|
+
}, e), Q(e, () => ic(r().rect.width), t), Q(e, () => ic(r().rect.height), null), J(() => ({
|
|
5214
5216
|
left: `${r().rect.left + d().x + r().rect.width / 2}px`,
|
|
5215
5217
|
top: `${r().rect.top + d().y + r().rect.height + 2}px`,
|
|
5216
5218
|
"z-index": s() ? ac : void 0,
|
|
@@ -11141,7 +11143,19 @@ function lp(e, t) {
|
|
|
11141
11143
|
u = !0, p.disconnect(), l && r.clearTimeout(l), r.removeEventListener("scroll", h, !0), o.clear(), a.remove();
|
|
11142
11144
|
});
|
|
11143
11145
|
}
|
|
11144
|
-
var up =
|
|
11146
|
+
var up = /* @__PURE__ */ new WeakMap(), dp = (e) => {
|
|
11147
|
+
let t = up.get(e.pageTarget);
|
|
11148
|
+
t && (e.ownerWindow.clearTimeout(t.clearTimer), up.delete(e.pageTarget));
|
|
11149
|
+
}, fp = (e, t) => {
|
|
11150
|
+
dp(e);
|
|
11151
|
+
let n = e.pageTarget, r = {
|
|
11152
|
+
target: t,
|
|
11153
|
+
clearTimer: 0
|
|
11154
|
+
};
|
|
11155
|
+
up.set(n, r), r.clearTimer = e.ownerWindow.setTimeout(() => {
|
|
11156
|
+
up.get(n) === r && up.delete(n);
|
|
11157
|
+
}, 0);
|
|
11158
|
+
}, pp = (e) => up.get(e.pageTarget)?.target ?? null, mp = "mesurer.text-edit.intents", hp = "text-edit", gp = "text-edit.commit", _p = "text-edit.clear", vp = 600, yp = 360, bp = 24, xp = 80, Sp = "#0d99ff", Cp = "#0f172a", wp = "#8a8a8a", Tp = 288, Ep = "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)", Dp = /* @__PURE__ */ new Set([
|
|
11145
11159
|
"HTML",
|
|
11146
11160
|
"BODY",
|
|
11147
11161
|
"SCRIPT",
|
|
@@ -11157,7 +11171,7 @@ var up = "mesurer.text-edit.intents", dp = "text-edit", fp = "text-edit.commit",
|
|
|
11157
11171
|
"TEXTAREA",
|
|
11158
11172
|
"SELECT",
|
|
11159
11173
|
"OPTION"
|
|
11160
|
-
]),
|
|
11174
|
+
]), Op = [
|
|
11161
11175
|
"font-family",
|
|
11162
11176
|
"font-size",
|
|
11163
11177
|
"font-weight",
|
|
@@ -11166,10 +11180,10 @@ var up = "mesurer.text-edit.intents", dp = "text-edit", fp = "text-edit.commit",
|
|
|
11166
11180
|
"letter-spacing",
|
|
11167
11181
|
"text-transform",
|
|
11168
11182
|
"color"
|
|
11169
|
-
],
|
|
11183
|
+
], kp = (e) => {
|
|
11170
11184
|
let { origin: t, pathname: n, search: r } = e.location;
|
|
11171
11185
|
return `${t}${n}${r}`;
|
|
11172
|
-
},
|
|
11186
|
+
}, Ap = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, jp = (e) => ({
|
|
11173
11187
|
tag: e.fingerprintTag,
|
|
11174
11188
|
id: e.fingerprintId,
|
|
11175
11189
|
testId: e.fingerprintTestId,
|
|
@@ -11177,11 +11191,11 @@ var up = "mesurer.text-edit.intents", dp = "text-edit", fp = "text-edit.commit",
|
|
|
11177
11191
|
ariaLabel: e.fingerprintAriaLabel,
|
|
11178
11192
|
classes: e.fingerprintClasses,
|
|
11179
11193
|
text: e.fingerprintText
|
|
11180
|
-
}),
|
|
11194
|
+
}), Mp = (e) => ({
|
|
11181
11195
|
property: e.property,
|
|
11182
11196
|
before: e.before,
|
|
11183
11197
|
desired: e.desired
|
|
11184
|
-
}),
|
|
11198
|
+
}), Np = (e) => ({
|
|
11185
11199
|
id: e.id,
|
|
11186
11200
|
createdAt: e.createdAt,
|
|
11187
11201
|
pageUrl: e.pageUrl,
|
|
@@ -11189,29 +11203,29 @@ var up = "mesurer.text-edit.intents", dp = "text-edit", fp = "text-edit.commit",
|
|
|
11189
11203
|
nodeIndex: e.nodeIndex,
|
|
11190
11204
|
before: e.beforeText,
|
|
11191
11205
|
desired: e.desiredText,
|
|
11192
|
-
styles: e.styleChanges.map(
|
|
11193
|
-
}),
|
|
11206
|
+
styles: e.styleChanges.map(Mp)
|
|
11207
|
+
}), Pp = (e) => {
|
|
11194
11208
|
let t = e.match(/^\s*/)?.[0] ?? "", n = e.slice(t.length), r = n.match(/\s*$/)?.[0] ?? "";
|
|
11195
11209
|
return {
|
|
11196
11210
|
leading: t,
|
|
11197
11211
|
trailing: r,
|
|
11198
11212
|
value: n.slice(0, Math.max(0, n.length - r.length))
|
|
11199
11213
|
};
|
|
11200
|
-
},
|
|
11214
|
+
}, Fp = (e) => e.map((e) => ({ ...e })), Ip = (e) => (e.split(",")[0] ?? e).trim().replace(/^['"]|['"]$/g, ""), Lp = (e) => {
|
|
11201
11215
|
if (e === "bold") return 700;
|
|
11202
11216
|
if (e === "normal") return 400;
|
|
11203
11217
|
let t = Number(e);
|
|
11204
11218
|
return Number.isFinite(t) ? t : 400;
|
|
11205
|
-
},
|
|
11219
|
+
}, Rp = (e) => e === "transparent" || /^rgba\([^)]*,\s*0(?:\.0+)?\s*\)$/.test(e) || /^rgba\(0\s+0\s+0\s*\/\s*0(?:\.0+)?\)$/.test(e), zp = (e) => {
|
|
11206
11220
|
let t = /^rgba?\(\s*(\d+(?:\.\d+)?)\D+(\d+(?:\.\d+)?)\D+(\d+(?:\.\d+)?)/.exec(e);
|
|
11207
11221
|
if (!t) return "#000000";
|
|
11208
11222
|
let n = (e) => Math.max(0, Math.min(255, Math.round(Number(e)))).toString(16).padStart(2, "0");
|
|
11209
11223
|
return `#${n(t[1])}${n(t[2])}${n(t[3])}`;
|
|
11210
|
-
},
|
|
11211
|
-
function
|
|
11224
|
+
}, Bp = (e, t) => [...e.entries()].sort((e, t) => t[1] - e[1] || e[0].localeCompare(t[0])).slice(0, t).map(([e]) => e), Vp = (e, t) => t ? [t, ...e.filter((e) => e !== t)] : e;
|
|
11225
|
+
function Hp(e, t) {
|
|
11212
11226
|
let { ownerDocument: n, ownerWindow: r, pageTarget: i } = t, a = r, o = t.createWorkspaceRuntime(), s = new td(n, r), c = t.createInspectorMount();
|
|
11213
11227
|
c.element.dataset.mesurerTextEditRuntime = "true", c.element.style.position = "fixed", c.element.style.inset = "0", c.element.style.zIndex = "2147483646", c.element.style.pointerEvents = "none", e.state.register({
|
|
11214
|
-
id:
|
|
11228
|
+
id: mp,
|
|
11215
11229
|
initial: { edits: [] },
|
|
11216
11230
|
history: !0,
|
|
11217
11231
|
persist: !0
|
|
@@ -11228,7 +11242,7 @@ function Rp(e, t) {
|
|
|
11228
11242
|
let t = u.get(e.id);
|
|
11229
11243
|
if (t?.element.isConnected && t.node.isConnected && x(t.element)) return t;
|
|
11230
11244
|
u.delete(e.id);
|
|
11231
|
-
let n =
|
|
11245
|
+
let n = jp(e);
|
|
11232
11246
|
if (!kl(n)) return null;
|
|
11233
11247
|
let r = [];
|
|
11234
11248
|
try {
|
|
@@ -11290,7 +11304,7 @@ function Rp(e, t) {
|
|
|
11290
11304
|
for (let e of d.values()) e.node.isConnected && e.node.nodeValue === e.desiredText && T(e.node, e.beforeText), e.element.isConnected && O(e.element, e.styleChanges);
|
|
11291
11305
|
d.clear();
|
|
11292
11306
|
}, j = () => {
|
|
11293
|
-
let e = l().edits.filter((e) => e.pageUrl ===
|
|
11307
|
+
let e = l().edits.filter((e) => e.pageUrl === kp(r)), t = new Set(e.map((e) => e.id));
|
|
11294
11308
|
for (let [e, n] of d) t.has(e) && n.node.isConnected && n.element.isConnected || (n.node.isConnected && n.node.nodeValue === n.desiredText && T(n.node, n.beforeText), n.element.isConnected && O(n.element, n.styleChanges), d.delete(e));
|
|
11295
11309
|
for (let t of e) {
|
|
11296
11310
|
let e = w(t);
|
|
@@ -11331,9 +11345,9 @@ function Rp(e, t) {
|
|
|
11331
11345
|
}, P = (e) => [...e.values()].sort((e, t) => t.count - e.count)[0] ?? null, F = (e) => {
|
|
11332
11346
|
let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = [], l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = null;
|
|
11333
11347
|
i instanceof a.HTMLElement && c.push(i);
|
|
11334
|
-
for (let e of i.querySelectorAll("*")) if (e instanceof a.HTMLElement && c.push(e), c.length >=
|
|
11348
|
+
for (let e of i.querySelectorAll("*")) if (e instanceof a.HTMLElement && c.push(e), c.length >= vp) break;
|
|
11335
11349
|
for (let e of c) {
|
|
11336
|
-
if (!x(e) || !S(e) ||
|
|
11350
|
+
if (!x(e) || !S(e) || Dp.has(e.tagName)) continue;
|
|
11337
11351
|
let i = r.getComputedStyle(e);
|
|
11338
11352
|
if (i.display === "none" || i.visibility === "hidden") continue;
|
|
11339
11353
|
let a = (e, t) => {
|
|
@@ -11380,17 +11394,17 @@ function Rp(e, t) {
|
|
|
11380
11394
|
});
|
|
11381
11395
|
}
|
|
11382
11396
|
return {
|
|
11383
|
-
fontFamilies:
|
|
11384
|
-
fontSizes:
|
|
11385
|
-
fontWeights:
|
|
11386
|
-
colors:
|
|
11397
|
+
fontFamilies: Vp(Bp(t, 12), f.fontFamily),
|
|
11398
|
+
fontSizes: Vp(Bp(n, 12), f.fontSize),
|
|
11399
|
+
fontWeights: Vp(Bp(o, 9).sort((e, t) => Lp(e) - Lp(t)), f.fontWeight),
|
|
11400
|
+
colors: Vp(Bp(s, 10), f.color),
|
|
11387
11401
|
presets: p
|
|
11388
11402
|
};
|
|
11389
11403
|
}, I = (e) => {
|
|
11390
11404
|
let t = e;
|
|
11391
11405
|
for (; t;) {
|
|
11392
11406
|
let e = r.getComputedStyle(t).backgroundColor;
|
|
11393
|
-
if (e && !
|
|
11407
|
+
if (e && !Rp(e)) return e;
|
|
11394
11408
|
t = t.parentElement;
|
|
11395
11409
|
}
|
|
11396
11410
|
return "Canvas";
|
|
@@ -11425,23 +11439,23 @@ function Rp(e, t) {
|
|
|
11425
11439
|
}, V = (e, t) => {
|
|
11426
11440
|
for (let [n, r] of t) B(e, n, r);
|
|
11427
11441
|
pe(e), R(e, !0), me();
|
|
11428
|
-
}, H = (e, t, n) => V(e, [[t, n]]), ee = (e, t) =>
|
|
11442
|
+
}, H = (e, t, n) => V(e, [[t, n]]), ee = (e, t) => Op.every((n) => {
|
|
11429
11443
|
let r = t.styles[n];
|
|
11430
11444
|
return r === void 0 || z(e, n) === E(n, r);
|
|
11431
11445
|
}), U = (e) => e.catalog.presets.find((t) => ee(e, t)) ?? null, te = (e, t) => {
|
|
11432
11446
|
e.menuOpen = !1;
|
|
11433
|
-
let n =
|
|
11447
|
+
let n = Op.flatMap((e) => {
|
|
11434
11448
|
let n = t.styles[e];
|
|
11435
11449
|
return n === void 0 ? [] : [[e, n]];
|
|
11436
11450
|
});
|
|
11437
11451
|
V(e, n), e.editor.focus({ preventScroll: !0 });
|
|
11438
11452
|
}, ne = (e) => {
|
|
11439
11453
|
let t = z(e, "font-weight"), n = L(e, "font-weight");
|
|
11440
|
-
if (n &&
|
|
11454
|
+
if (n && Lp(n.desired) >= 600 && Lp(n.before) < 600) {
|
|
11441
11455
|
H(e, "font-weight", n.before);
|
|
11442
11456
|
return;
|
|
11443
11457
|
}
|
|
11444
|
-
H(e, "font-weight",
|
|
11458
|
+
H(e, "font-weight", Lp(t) >= 600 ? "400" : "700");
|
|
11445
11459
|
}, re = (e) => {
|
|
11446
11460
|
let t = z(e, "font-style"), n = L(e, "font-style");
|
|
11447
11461
|
if (n && n.desired !== "normal" && n.before === "normal") {
|
|
@@ -11463,7 +11477,7 @@ function Rp(e, t) {
|
|
|
11463
11477
|
height: "32px",
|
|
11464
11478
|
border: "0",
|
|
11465
11479
|
borderRadius: "8px",
|
|
11466
|
-
background: i ?
|
|
11480
|
+
background: i ? Sp : "transparent",
|
|
11467
11481
|
color: i ? "#ffffff" : "#000000",
|
|
11468
11482
|
font: "600 13px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif",
|
|
11469
11483
|
textDecoration: r === "Underline" ? "underline" : "none",
|
|
@@ -11473,7 +11487,7 @@ function Rp(e, t) {
|
|
|
11473
11487
|
}), o.addEventListener("mouseenter", () => {
|
|
11474
11488
|
i || (o.style.background = "rgba(0, 0, 0, 0.04)");
|
|
11475
11489
|
}), o.addEventListener("mouseleave", () => {
|
|
11476
|
-
o.style.background = i ?
|
|
11490
|
+
o.style.background = i ? Sp : "transparent";
|
|
11477
11491
|
}), o.addEventListener("click", (t) => {
|
|
11478
11492
|
t.preventDefault(), t.stopPropagation(), m === e && (a(), e.editor.focus({ preventScroll: !0 }));
|
|
11479
11493
|
}), o;
|
|
@@ -11486,11 +11500,11 @@ function Rp(e, t) {
|
|
|
11486
11500
|
gap: "8px",
|
|
11487
11501
|
minHeight: "38px",
|
|
11488
11502
|
padding: "0 8px",
|
|
11489
|
-
color:
|
|
11503
|
+
color: Cp,
|
|
11490
11504
|
font: "500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
|
11491
11505
|
});
|
|
11492
11506
|
let c = n.createElement("span");
|
|
11493
|
-
c.textContent = t, c.style.color =
|
|
11507
|
+
c.textContent = t, c.style.color = wp;
|
|
11494
11508
|
let l = n.createElement("select");
|
|
11495
11509
|
l.setAttribute("aria-label", t), l.dataset.mesurerTextStyleSelect = t.toLowerCase().replace(/\s+/g, "-"), Object.assign(l.style, {
|
|
11496
11510
|
width: "100%",
|
|
@@ -11498,13 +11512,13 @@ function Rp(e, t) {
|
|
|
11498
11512
|
border: "0",
|
|
11499
11513
|
borderRadius: "8px",
|
|
11500
11514
|
background: "rgba(0, 0, 0, 0.035)",
|
|
11501
|
-
color:
|
|
11515
|
+
color: Cp,
|
|
11502
11516
|
font: "500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif",
|
|
11503
11517
|
padding: "0 8px",
|
|
11504
11518
|
cursor: "pointer",
|
|
11505
11519
|
outline: "none"
|
|
11506
11520
|
});
|
|
11507
|
-
for (let e of
|
|
11521
|
+
for (let e of Vp(r, i)) {
|
|
11508
11522
|
let t = n.createElement("option");
|
|
11509
11523
|
t.value = e, t.textContent = a(e), t.selected = e === i, l.append(t);
|
|
11510
11524
|
}
|
|
@@ -11520,11 +11534,11 @@ function Rp(e, t) {
|
|
|
11520
11534
|
gap: "8px",
|
|
11521
11535
|
minHeight: "38px",
|
|
11522
11536
|
padding: "0 8px",
|
|
11523
|
-
color:
|
|
11537
|
+
color: Cp,
|
|
11524
11538
|
font: "500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
|
11525
11539
|
});
|
|
11526
11540
|
let o = n.createElement("span");
|
|
11527
|
-
o.textContent = t, o.style.color =
|
|
11541
|
+
o.textContent = t, o.style.color = wp;
|
|
11528
11542
|
let s = n.createElement("input");
|
|
11529
11543
|
s.type = "text", s.value = i, s.setAttribute("aria-label", t), s.dataset.mesurerTextStyleInput = t.toLowerCase().replace(/\s+/g, "-"), Object.assign(s.style, {
|
|
11530
11544
|
width: "100%",
|
|
@@ -11533,7 +11547,7 @@ function Rp(e, t) {
|
|
|
11533
11547
|
border: "0",
|
|
11534
11548
|
borderRadius: "8px",
|
|
11535
11549
|
background: "rgba(0, 0, 0, 0.035)",
|
|
11536
|
-
color:
|
|
11550
|
+
color: Cp,
|
|
11537
11551
|
font: "500 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
11538
11552
|
padding: "0 8px",
|
|
11539
11553
|
outline: "none"
|
|
@@ -11578,7 +11592,7 @@ function Rp(e, t) {
|
|
|
11578
11592
|
a.textContent = t.label;
|
|
11579
11593
|
let o = n.createElement("span");
|
|
11580
11594
|
return o.textContent = ce(t.shortcut), Object.assign(o.style, {
|
|
11581
|
-
color:
|
|
11595
|
+
color: wp,
|
|
11582
11596
|
font: "500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif",
|
|
11583
11597
|
whiteSpace: "nowrap"
|
|
11584
11598
|
}), i.append(a, o), i.addEventListener("mouseenter", () => {
|
|
@@ -11602,7 +11616,7 @@ function Rp(e, t) {
|
|
|
11602
11616
|
for (let n of e.catalog.presets) t.append(le(e, n, r?.id === n.id));
|
|
11603
11617
|
t.append(ue());
|
|
11604
11618
|
let i = z(e, "font-family"), a = z(e, "font-size"), o = z(e, "font-weight"), s = z(e, "line-height"), c = z(e, "letter-spacing"), l = z(e, "color");
|
|
11605
|
-
t.append(oe(e, "Font", e.catalog.fontFamilies, i,
|
|
11619
|
+
t.append(oe(e, "Font", e.catalog.fontFamilies, i, Ip, (t) => H(e, "font-family", t)), oe(e, "Size", e.catalog.fontSizes, a, (e) => e, (t) => H(e, "font-size", t)), oe(e, "Weight", e.catalog.fontWeights, o, (e) => e, (t) => H(e, "font-weight", t)), se(e, "Line", "line-height", s), se(e, "Tracking", "letter-spacing", c)), t.append(ue());
|
|
11606
11620
|
let u = n.createElement("div");
|
|
11607
11621
|
Object.assign(u.style, {
|
|
11608
11622
|
display: "grid",
|
|
@@ -11611,7 +11625,7 @@ function Rp(e, t) {
|
|
|
11611
11625
|
});
|
|
11612
11626
|
let d = n.createElement("div");
|
|
11613
11627
|
d.textContent = "Text color", Object.assign(d.style, {
|
|
11614
|
-
color:
|
|
11628
|
+
color: wp,
|
|
11615
11629
|
font: "500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
|
11616
11630
|
});
|
|
11617
11631
|
let f = n.createElement("div");
|
|
@@ -11627,7 +11641,7 @@ function Rp(e, t) {
|
|
|
11627
11641
|
width: "22px",
|
|
11628
11642
|
height: "22px",
|
|
11629
11643
|
borderRadius: "50%",
|
|
11630
|
-
border: t === l ? `2px solid ${
|
|
11644
|
+
border: t === l ? `2px solid ${Sp}` : "1px solid rgba(0, 0, 0, 0.18)",
|
|
11631
11645
|
boxShadow: t === l ? "0 0 0 2px #ffffff inset" : "none",
|
|
11632
11646
|
background: t,
|
|
11633
11647
|
cursor: "pointer",
|
|
@@ -11637,7 +11651,7 @@ function Rp(e, t) {
|
|
|
11637
11651
|
}), f.append(r);
|
|
11638
11652
|
}
|
|
11639
11653
|
let p = n.createElement("input");
|
|
11640
|
-
p.type = "color", p.value =
|
|
11654
|
+
p.type = "color", p.value = zp(l), p.title = "Custom text color", p.setAttribute("aria-label", "Custom text color"), p.dataset.mesurerTextCustomColor = "true", Object.assign(p.style, {
|
|
11641
11655
|
width: "28px",
|
|
11642
11656
|
height: "28px",
|
|
11643
11657
|
border: "0",
|
|
@@ -11670,7 +11684,7 @@ function Rp(e, t) {
|
|
|
11670
11684
|
i.textContent = t?.label ?? "Text";
|
|
11671
11685
|
let a = n.createElement("span");
|
|
11672
11686
|
return a.textContent = "⌄", a.setAttribute("aria-hidden", "true"), Object.assign(a.style, {
|
|
11673
|
-
color:
|
|
11687
|
+
color: wp,
|
|
11674
11688
|
fontSize: "15px",
|
|
11675
11689
|
transform: e.menuOpen ? "rotate(180deg)" : "none",
|
|
11676
11690
|
transformOrigin: "center"
|
|
@@ -11685,7 +11699,7 @@ function Rp(e, t) {
|
|
|
11685
11699
|
let t = e.toolbar;
|
|
11686
11700
|
t.replaceChildren();
|
|
11687
11701
|
let n = z(e, "font-weight"), r = z(e, "font-style"), i = z(e, "text-decoration-line");
|
|
11688
|
-
t.append(ae(e, "B", "Bold",
|
|
11702
|
+
t.append(ae(e, "B", "Bold", Lp(n) >= 600, () => ne(e)), ae(e, "I", "Italic", r === "italic" || r === "oblique", () => re(e)), ae(e, "U", "Underline", i.includes("underline"), () => ie(e)), fe(e)), de(e);
|
|
11689
11703
|
}, me = () => {
|
|
11690
11704
|
let e = m;
|
|
11691
11705
|
if (!e || !e.element.isConnected) return;
|
|
@@ -11714,7 +11728,7 @@ function Rp(e, t) {
|
|
|
11714
11728
|
e.toolbar.style.left = `${h}px`, e.toolbar.style.top = `${f}px`;
|
|
11715
11729
|
let g = f, _ = f, v = !1;
|
|
11716
11730
|
if (e.menuOpen) {
|
|
11717
|
-
let t = e.menu.getBoundingClientRect(), n = Math.max(0, t.height), i = Math.max(
|
|
11731
|
+
let t = e.menu.getBoundingClientRect(), n = Math.max(0, t.height), i = Math.max(Tp, t.width), a = f - n - 8;
|
|
11718
11732
|
v = a >= 8, g = v ? a : Math.min(r.innerHeight - n - 8, f + l + 8);
|
|
11719
11733
|
let o = Math.min(Math.max(8, h + p - i), Math.max(8, r.innerWidth - i - 8));
|
|
11720
11734
|
e.menu.style.left = `${o}px`, e.menu.style.top = `${Math.max(8, g)}px`, _ = Math.max(8, g) + n;
|
|
@@ -11749,7 +11763,7 @@ function Rp(e, t) {
|
|
|
11749
11763
|
}, _e = () => {
|
|
11750
11764
|
let t = m;
|
|
11751
11765
|
if (!t) return;
|
|
11752
|
-
let n = `${t.leading}${t.editor.value}${t.trailing}`, i =
|
|
11766
|
+
let n = `${t.leading}${t.editor.value}${t.trailing}`, i = Fp(t.styleChanges);
|
|
11753
11767
|
if (n === t.initialText && JSON.stringify(i) === JSON.stringify(t.initialStyleChanges)) {
|
|
11754
11768
|
T(t.node, t.initialText), he();
|
|
11755
11769
|
return;
|
|
@@ -11757,7 +11771,7 @@ function Rp(e, t) {
|
|
|
11757
11771
|
p = {
|
|
11758
11772
|
id: t.editId,
|
|
11759
11773
|
createdAt: Date.now(),
|
|
11760
|
-
pageUrl:
|
|
11774
|
+
pageUrl: kp(r),
|
|
11761
11775
|
selector: t.selector,
|
|
11762
11776
|
nodeIndex: t.nodeIndex,
|
|
11763
11777
|
beforeText: t.beforeText,
|
|
@@ -11779,26 +11793,28 @@ function Rp(e, t) {
|
|
|
11779
11793
|
beforeText: t.beforeText,
|
|
11780
11794
|
desiredText: n,
|
|
11781
11795
|
styleChanges: i
|
|
11782
|
-
}), T(t.node, n), he(), e.command.execute(
|
|
11796
|
+
}), T(t.node, n), he(), e.command.execute(gp, void 0, { source: "text-inspector" }).catch(() => {
|
|
11783
11797
|
let e = d.get(t.editId);
|
|
11784
11798
|
e && (e.node.isConnected && e.node.nodeValue === n && T(e.node, t.beforeText), e.element.isConnected && O(e.element, e.styleChanges)), d.delete(t.editId);
|
|
11785
11799
|
});
|
|
11786
|
-
}, ve = (e,
|
|
11787
|
-
|
|
11788
|
-
|
|
11789
|
-
|
|
11800
|
+
}, ve = (e, r) => {
|
|
11801
|
+
let i = pp(t);
|
|
11802
|
+
if (i && i.element.isConnected && i.node.isConnected && i.node.parentNode === i.element && i.node.nodeValue?.trim() && x(i.element) && !Dp.has(i.element.tagName) && !i.element.isContentEditable) return i;
|
|
11803
|
+
for (let t of n.elementsFromPoint(e, r)) {
|
|
11804
|
+
if (!(t instanceof a.HTMLElement) || !x(t) || Dp.has(t.tagName) || t.isContentEditable) continue;
|
|
11805
|
+
let e = Array.from(t.childNodes).map((e, t) => ({
|
|
11790
11806
|
node: e,
|
|
11791
11807
|
index: t
|
|
11792
11808
|
})).filter(({ node: e }) => e.nodeType === a.Node.TEXT_NODE && !!e.nodeValue?.trim());
|
|
11793
11809
|
if (e.length === 1) return {
|
|
11794
|
-
element:
|
|
11810
|
+
element: t,
|
|
11795
11811
|
node: e[0].node,
|
|
11796
11812
|
nodeIndex: e[0].index
|
|
11797
11813
|
};
|
|
11798
11814
|
}
|
|
11799
11815
|
return null;
|
|
11800
11816
|
}, ye = (e, t, n, i) => {
|
|
11801
|
-
let a =
|
|
11817
|
+
let a = kp(r);
|
|
11802
11818
|
return l().edits.find((r) => {
|
|
11803
11819
|
if (r.pageUrl !== a || r.nodeIndex !== i) return !1;
|
|
11804
11820
|
let o = w(r);
|
|
@@ -11809,10 +11825,10 @@ function Rp(e, t) {
|
|
|
11809
11825
|
let a = ve(e, t);
|
|
11810
11826
|
if (!a) return;
|
|
11811
11827
|
i?.preventDefault(), i?.stopImmediatePropagation(), ge();
|
|
11812
|
-
let o = Dl(a.element), l = Ol(a.element), u = ye(a.element, a.node, o, a.nodeIndex), f = a.node.nodeValue ?? "", p = u ? d.get(u.id) : void 0, h = !!(u && p?.node === a.node && (f === p.desiredText || p.styleChanges.length > 0)), g = f, _ = f, v = [], y = u?.id ??
|
|
11813
|
-
if (u && h) g = u.beforeText, _ = u.desiredText, v =
|
|
11828
|
+
let o = Dl(a.element), l = Ol(a.element), u = ye(a.element, a.node, o, a.nodeIndex), f = a.node.nodeValue ?? "", p = u ? d.get(u.id) : void 0, h = !!(u && p?.node === a.node && (f === p.desiredText || p.styleChanges.length > 0)), g = f, _ = f, v = [], y = u?.id ?? Ap(r, "text-edit");
|
|
11829
|
+
if (u && h) g = u.beforeText, _ = u.desiredText, v = Fp(u.styleChanges), T(a.node, _);
|
|
11814
11830
|
else if (u && f === u.beforeText) {
|
|
11815
|
-
g = u.beforeText, _ = u.desiredText, v =
|
|
11831
|
+
g = u.beforeText, _ = u.desiredText, v = Fp(u.styleChanges), T(a.node, _);
|
|
11816
11832
|
let e = k(a.element, v, []);
|
|
11817
11833
|
d.set(u.id, {
|
|
11818
11834
|
...a,
|
|
@@ -11821,7 +11837,7 @@ function Rp(e, t) {
|
|
|
11821
11837
|
styleChanges: e
|
|
11822
11838
|
});
|
|
11823
11839
|
} else u && f === u.desiredText && (g = f, _ = f, v = []);
|
|
11824
|
-
let x =
|
|
11840
|
+
let x = Pp(_), S = n.createElement("textarea");
|
|
11825
11841
|
S.dataset.mesurerTextEditor = "true", S.dataset.mesurerInspectorUi = "true", S.setAttribute("aria-label", "Edit text"), S.rows = 1, S.value = x.value, Object.assign(S.style, {
|
|
11826
11842
|
position: "fixed",
|
|
11827
11843
|
boxSizing: "border-box",
|
|
@@ -11846,14 +11862,14 @@ function Rp(e, t) {
|
|
|
11846
11862
|
padding: "4px",
|
|
11847
11863
|
borderRadius: "12px",
|
|
11848
11864
|
background: "#ffffff",
|
|
11849
|
-
color:
|
|
11850
|
-
boxShadow:
|
|
11865
|
+
color: Cp,
|
|
11866
|
+
boxShadow: Ep
|
|
11851
11867
|
});
|
|
11852
11868
|
let w = n.createElement("div");
|
|
11853
11869
|
w.className = "mesurer-toolbar-surface", w.dataset.mesurerTextStyleMenu = "true", w.dataset.mesurerInspectorUi = "true", w.setAttribute("role", "menu"), w.setAttribute("aria-label", "Text style menu"), Object.assign(w.style, {
|
|
11854
11870
|
position: "fixed",
|
|
11855
11871
|
zIndex: "2147483647",
|
|
11856
|
-
width: `${
|
|
11872
|
+
width: `${Tp}px`,
|
|
11857
11873
|
maxWidth: "calc(100vw - 16px)",
|
|
11858
11874
|
maxHeight: "min(520px, calc(100vh - 16px))",
|
|
11859
11875
|
overflowY: "auto",
|
|
@@ -11862,8 +11878,8 @@ function Rp(e, t) {
|
|
|
11862
11878
|
padding: "6px",
|
|
11863
11879
|
borderRadius: "12px",
|
|
11864
11880
|
background: "#ffffff",
|
|
11865
|
-
color:
|
|
11866
|
-
boxShadow:
|
|
11881
|
+
color: Cp,
|
|
11882
|
+
boxShadow: Ep
|
|
11867
11883
|
});
|
|
11868
11884
|
let E = Uu(n, !1);
|
|
11869
11885
|
E.dataset.mesurerTextInspectorInfo = "true", E.dataset.mesurerInspectorUi = "true", E.setAttribute("aria-label", "Text inspector"), Object.assign(E.style, {
|
|
@@ -11890,7 +11906,7 @@ function Rp(e, t) {
|
|
|
11890
11906
|
nodeIndex: a.nodeIndex,
|
|
11891
11907
|
selector: o,
|
|
11892
11908
|
fingerprint: l,
|
|
11893
|
-
initialStyleChanges:
|
|
11909
|
+
initialStyleChanges: Fp(v),
|
|
11894
11910
|
styleChanges: v,
|
|
11895
11911
|
catalog: F(a.element)
|
|
11896
11912
|
}, pe(m), R(m, !1), me(), S.addEventListener("input", () => {
|
|
@@ -11907,7 +11923,7 @@ function Rp(e, t) {
|
|
|
11907
11923
|
return;
|
|
11908
11924
|
}
|
|
11909
11925
|
let n = r.performance.now(), i = h;
|
|
11910
|
-
if (i && i.element === t.element && n - i.time <=
|
|
11926
|
+
if (i && i.element === t.element && n - i.time <= yp && Math.hypot(e.clientX - i.x, e.clientY - i.y) <= bp) {
|
|
11911
11927
|
h = null, be(e.clientX, e.clientY, e);
|
|
11912
11928
|
return;
|
|
11913
11929
|
}
|
|
@@ -11934,7 +11950,7 @@ function Rp(e, t) {
|
|
|
11934
11950
|
}
|
|
11935
11951
|
_ &&= (r.cancelAnimationFrame(_), 0), v && r.clearTimeout(v), v = r.setTimeout(() => {
|
|
11936
11952
|
v = 0, we();
|
|
11937
|
-
},
|
|
11953
|
+
}, xp);
|
|
11938
11954
|
}, Ee = (e) => {
|
|
11939
11955
|
let t = m;
|
|
11940
11956
|
if (!t) return;
|
|
@@ -11969,7 +11985,7 @@ function Rp(e, t) {
|
|
|
11969
11985
|
e && t.key === "Enter" && !t.shiftKey && (t.preventDefault(), t.stopImmediatePropagation(), _e());
|
|
11970
11986
|
return;
|
|
11971
11987
|
}
|
|
11972
|
-
t.key === "Escape" && y() === "text-inspector" && e.command.execute(
|
|
11988
|
+
t.key === "Escape" && y() === "text-inspector" && e.command.execute(_p, void 0, { source: "text-inspector-clear" });
|
|
11973
11989
|
}, Oe = new a.MutationObserver((e) => {
|
|
11974
11990
|
for (let t of e) {
|
|
11975
11991
|
if (t.type !== "characterData" || !(t.target instanceof a.Text)) continue;
|
|
@@ -11994,100 +12010,100 @@ function Rp(e, t) {
|
|
|
11994
12010
|
"role",
|
|
11995
12011
|
"aria-label"
|
|
11996
12012
|
]
|
|
11997
|
-
}), e.command.register(
|
|
12013
|
+
}), e.command.register(gp, () => {
|
|
11998
12014
|
let t = p;
|
|
11999
12015
|
p = null, t && e.state.update("mesurer.text-edit.intents", (e) => {
|
|
12000
12016
|
let n = e.edits.filter((e) => e.id !== t.id);
|
|
12001
12017
|
return { edits: t.desiredText !== t.beforeText || t.styleChanges.length > 0 ? [...n, t].slice(-100) : n };
|
|
12002
12018
|
});
|
|
12003
|
-
}), e.command.register(
|
|
12004
|
-
p = null, e.state.update(
|
|
12005
|
-
}), e.service.provide(
|
|
12006
|
-
intents: () => l().edits.map(
|
|
12019
|
+
}), e.command.register(_p, () => {
|
|
12020
|
+
p = null, e.state.update(mp, () => ({ edits: [] }));
|
|
12021
|
+
}), e.service.provide(hp, {
|
|
12022
|
+
intents: () => l().edits.map(Np),
|
|
12007
12023
|
intent: (e) => {
|
|
12008
12024
|
let t = l().edits.find((t) => t.id === e);
|
|
12009
|
-
return t ?
|
|
12025
|
+
return t ? Np(t) : null;
|
|
12010
12026
|
},
|
|
12011
|
-
clear: () => e.command.execute(
|
|
12027
|
+
clear: () => e.command.execute(_p)
|
|
12012
12028
|
});
|
|
12013
12029
|
let ke = o.subscribe(we);
|
|
12014
12030
|
e.state.subscribe(we), r.addEventListener("dblclick", xe, !0), r.addEventListener("pointerup", Se, !0), r.addEventListener("pointerdown", Ee, !0), r.addEventListener("keydown", De, !0), r.addEventListener("resize", we), r.addEventListener("scroll", Te, !0), we(), e.lifecycle.onDispose(() => {
|
|
12015
12031
|
g = !0, _ && r.cancelAnimationFrame(_), _ = 0, v && r.clearTimeout(v), v = 0, ge(), A(), Oe.disconnect(), ke(), r.removeEventListener("dblclick", xe, !0), r.removeEventListener("pointerup", Se, !0), r.removeEventListener("pointerdown", Ee, !0), r.removeEventListener("keydown", De, !0), r.removeEventListener("resize", we), r.removeEventListener("scroll", Te, !0), u.clear(), o.dispose(), c.dispose();
|
|
12016
12032
|
});
|
|
12017
12033
|
}
|
|
12018
|
-
var
|
|
12019
|
-
function
|
|
12020
|
-
let { ownerWindow: r, portalTarget: i } = t, a = r, o = i.querySelectorAll(
|
|
12034
|
+
var Up = "[data-mesurer-text-editor='true']", Wp = "[data-mesurer-text-edit-runtime='true']", Gp = "[data-mesurer-root='true']", Kp = "data-mesurer-direct-text-edit-active";
|
|
12035
|
+
function qp(e, t, n) {
|
|
12036
|
+
let { ownerWindow: r, portalTarget: i } = t, a = r, o = i.querySelectorAll(Wp), s = o.item(o.length - 1), c = n.rendererRoot ?? s?.closest(Gp) ?? null;
|
|
12021
12037
|
if (!s?.isConnected || !c?.isConnected) return;
|
|
12022
12038
|
let l = !1, u = () => {
|
|
12023
|
-
let e = !!s.querySelector(
|
|
12024
|
-
e !== l && (l = e, l ? c.setAttribute(
|
|
12039
|
+
let e = !!s.querySelector(Up);
|
|
12040
|
+
e !== l && (l = e, l ? c.setAttribute(Kp, "true") : c.removeAttribute(Kp));
|
|
12025
12041
|
}, d = new a.MutationObserver(u);
|
|
12026
12042
|
d.observe(s, {
|
|
12027
12043
|
childList: !0,
|
|
12028
12044
|
subtree: !0
|
|
12029
12045
|
}), u(), e.lifecycle.onDispose(() => {
|
|
12030
|
-
d.disconnect(), c.removeAttribute(
|
|
12046
|
+
d.disconnect(), c.removeAttribute(Kp);
|
|
12031
12047
|
});
|
|
12032
12048
|
}
|
|
12033
|
-
var
|
|
12049
|
+
var Jp = 8, Yp = 2, Xp = 4, Zp = 20, Qp = "[data-mesurer-selected-measurement='true']", $p = "[data-mesurer-measurement-chrome='true']", em = "[data-mesurer-measurement-label='true']", tm = "[data-mesurer-text-editor='true']", nm = "[data-mesurer-text-edit-ring='true']", rm = "[data-mesurer-text-inspector-info='true']", im = "[data-mesurer-text-inspector-placement-shell='true']", am = "data-mesurer-measurement-label-clearance", om = (e) => ({
|
|
12034
12050
|
left: e.left,
|
|
12035
12051
|
top: e.top,
|
|
12036
12052
|
right: e.right,
|
|
12037
12053
|
bottom: e.bottom,
|
|
12038
12054
|
width: e.width,
|
|
12039
12055
|
height: e.height
|
|
12040
|
-
}),
|
|
12056
|
+
}), sm = (e, t, n = Xp) => Math.abs(e.left - t.left) <= n && Math.abs(e.top - t.top) <= n && Math.abs(e.width - t.width) <= n && Math.abs(e.height - t.height) <= n, cm = (e, t) => Math.max(0, Math.min(e.right, t.right) - Math.max(e.left, t.left)) > 0 && Math.max(0, Math.min(e.bottom, t.bottom) - Math.max(e.top, t.top)) > 0, lm = (e) => e.reduce((e, t) => ({
|
|
12041
12057
|
left: Math.min(e.left, t.left),
|
|
12042
12058
|
top: Math.min(e.top, t.top),
|
|
12043
12059
|
right: Math.max(e.right, t.right),
|
|
12044
12060
|
bottom: Math.max(e.bottom, t.bottom),
|
|
12045
12061
|
width: Math.max(e.right, t.right) - Math.min(e.left, t.left),
|
|
12046
12062
|
height: Math.max(e.bottom, t.bottom) - Math.min(e.top, t.top)
|
|
12047
|
-
})),
|
|
12063
|
+
})), um = (e) => ({
|
|
12048
12064
|
left: e.left,
|
|
12049
12065
|
top: e.bottom + 2,
|
|
12050
12066
|
right: e.right,
|
|
12051
|
-
bottom: e.bottom + 2 +
|
|
12067
|
+
bottom: e.bottom + 2 + Zp,
|
|
12052
12068
|
width: e.width,
|
|
12053
|
-
height:
|
|
12069
|
+
height: Zp
|
|
12054
12070
|
});
|
|
12055
|
-
function
|
|
12056
|
-
let i =
|
|
12071
|
+
function dm(e, t, n, r) {
|
|
12072
|
+
let i = lm(t.length > 0 ? [e, ...t] : [e, um(e)]), a = n.width, o = n.height, s = r.width - Jp, c = r.height - Jp, l = Math.max(Jp, s - a), u = Math.max(Jp, c - o), d = Math.min(Math.max(e.left + e.width / 2 - a / 2, Jp), l), f = Math.min(Math.max(e.top + e.height / 2 - o / 2, Jp), u), p = [
|
|
12057
12073
|
{
|
|
12058
12074
|
left: d,
|
|
12059
|
-
top: i.top -
|
|
12075
|
+
top: i.top - Yp - o,
|
|
12060
12076
|
placement: "above",
|
|
12061
12077
|
maxHeight: null
|
|
12062
12078
|
},
|
|
12063
12079
|
{
|
|
12064
12080
|
left: d,
|
|
12065
|
-
top: i.bottom +
|
|
12081
|
+
top: i.bottom + Yp,
|
|
12066
12082
|
placement: "below",
|
|
12067
12083
|
maxHeight: null
|
|
12068
12084
|
},
|
|
12069
12085
|
{
|
|
12070
|
-
left: i.right +
|
|
12086
|
+
left: i.right + Yp,
|
|
12071
12087
|
top: f,
|
|
12072
12088
|
placement: "side",
|
|
12073
12089
|
maxHeight: null
|
|
12074
12090
|
},
|
|
12075
12091
|
{
|
|
12076
|
-
left: i.left -
|
|
12092
|
+
left: i.left - Yp - a,
|
|
12077
12093
|
top: f,
|
|
12078
12094
|
placement: "side",
|
|
12079
12095
|
maxHeight: null
|
|
12080
12096
|
}
|
|
12081
|
-
], m = (e) => e.left >=
|
|
12097
|
+
], m = (e) => e.left >= Jp && e.top >= Jp && e.left + a <= s && e.top + o <= c, h = p.find((e) => m(e));
|
|
12082
12098
|
if (h) return h;
|
|
12083
12099
|
let g = [{
|
|
12084
12100
|
placement: "above",
|
|
12085
|
-
top:
|
|
12086
|
-
height: Math.max(0, i.top -
|
|
12101
|
+
top: Jp,
|
|
12102
|
+
height: Math.max(0, i.top - Yp - Jp)
|
|
12087
12103
|
}, {
|
|
12088
12104
|
placement: "below",
|
|
12089
|
-
top: i.bottom +
|
|
12090
|
-
height: Math.max(0, c - i.bottom -
|
|
12105
|
+
top: i.bottom + Yp,
|
|
12106
|
+
height: Math.max(0, c - i.bottom - Yp)
|
|
12091
12107
|
}].sort((e, t) => t.height - e.height)[0];
|
|
12092
12108
|
return g && g.height > 0 ? {
|
|
12093
12109
|
left: d,
|
|
@@ -12096,42 +12112,42 @@ function sm(e, t, n, r) {
|
|
|
12096
12112
|
maxHeight: g.height
|
|
12097
12113
|
} : {
|
|
12098
12114
|
left: d,
|
|
12099
|
-
top:
|
|
12115
|
+
top: Jp,
|
|
12100
12116
|
placement: "viewport",
|
|
12101
12117
|
maxHeight: Math.max(0, r.height - 16)
|
|
12102
12118
|
};
|
|
12103
12119
|
}
|
|
12104
|
-
var
|
|
12120
|
+
var fm = (e, t) => ({
|
|
12105
12121
|
value: e.style.getPropertyValue(t),
|
|
12106
12122
|
priority: e.style.getPropertyPriority(t)
|
|
12107
|
-
}),
|
|
12123
|
+
}), pm = (e, t, n, r = "") => {
|
|
12108
12124
|
(e.style.getPropertyValue(t) !== n || e.style.getPropertyPriority(t) !== r) && e.style.setProperty(t, n, r);
|
|
12109
|
-
},
|
|
12125
|
+
}, mm = (e, t, n) => {
|
|
12110
12126
|
(e.style.getPropertyValue(t) !== n.value || e.style.getPropertyPriority(t) !== n.priority) && (n.value || n.priority ? e.style.setProperty(t, n.value, n.priority) : e.style.removeProperty(t));
|
|
12111
|
-
},
|
|
12127
|
+
}, hm = (e, t, n) => {
|
|
12112
12128
|
e.getAttribute(t) !== n && e.setAttribute(t, n);
|
|
12113
|
-
},
|
|
12129
|
+
}, gm = (e, t) => {
|
|
12114
12130
|
let n = t.bottom + 2, r = t.left + t.width / 2, i = e.left + e.width / 2;
|
|
12115
12131
|
return Math.abs(e.top - n) <= 8 && Math.abs(i - r) <= 8;
|
|
12116
|
-
},
|
|
12132
|
+
}, _m = (e, t, n) => {
|
|
12117
12133
|
let r = /* @__PURE__ */ new Set();
|
|
12118
|
-
for (let t of e) for (let e of t.querySelectorAll(
|
|
12134
|
+
for (let t of e) for (let e of t.querySelectorAll(Qp)) r.add(e);
|
|
12119
12135
|
let i = [];
|
|
12120
12136
|
for (let e of r) {
|
|
12121
12137
|
let r = n.getComputedStyle(e);
|
|
12122
12138
|
if (r.display === "none" || r.visibility === "hidden") continue;
|
|
12123
|
-
let a = e.querySelector(
|
|
12139
|
+
let a = e.querySelector(em);
|
|
12124
12140
|
if (!a) continue;
|
|
12125
12141
|
let o = n.getComputedStyle(a);
|
|
12126
12142
|
if (o.display === "none" || o.visibility === "hidden") continue;
|
|
12127
|
-
let s =
|
|
12143
|
+
let s = om(a.getBoundingClientRect());
|
|
12128
12144
|
if (s.width <= 0 || s.height <= 0) continue;
|
|
12129
|
-
let c = e.querySelector(
|
|
12130
|
-
!(l && l.width > 0 && l.height > 0 &&
|
|
12145
|
+
let c = e.querySelector($p), l = c?.isConnected ? om(c.getBoundingClientRect()) : null;
|
|
12146
|
+
!(l && l.width > 0 && l.height > 0 && sm(l, t)) && !gm(s, t) || i.push(s);
|
|
12131
12147
|
}
|
|
12132
12148
|
return i;
|
|
12133
|
-
},
|
|
12134
|
-
function
|
|
12149
|
+
}, vm = (e, t) => e instanceof t.HTMLElement ? e.matches(Qp) || !!e.closest(Qp) || !!e.querySelector(Qp) : !1;
|
|
12150
|
+
function ym(e, t, n = t.portalTarget) {
|
|
12135
12151
|
let { ownerDocument: r, ownerWindow: i, portalTarget: a } = t, o = i, s = a.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), c = s.item(s.length - 1);
|
|
12136
12152
|
if (!c) return;
|
|
12137
12153
|
let l = null, u = 0, d = !1, f = () => {
|
|
@@ -12141,42 +12157,42 @@ function hm(e, t, n = t.portalTarget) {
|
|
|
12141
12157
|
let e = l;
|
|
12142
12158
|
if (!e) return;
|
|
12143
12159
|
let { shell: t, card: n } = e;
|
|
12144
|
-
t.isConnected && (
|
|
12160
|
+
t.isConnected && (mm(t, "left", e.shellLeft), mm(t, "top", e.shellTop), mm(t, "--mesurer-native-anchor-x", e.anchorX), mm(t, "--mesurer-native-anchor-y", e.anchorY), e.marker === null ? t.removeAttribute(am) : hm(t, am, e.marker)), n.isConnected && (mm(n, "max-height", e.cardMaxHeight), e.placement === null ? delete n.dataset.mesurerTextInspectorPlacement : n.dataset.mesurerTextInspectorPlacement !== e.placement && (n.dataset.mesurerTextInspectorPlacement = e.placement)), l = null;
|
|
12145
12161
|
}, m = (e, t) => {
|
|
12146
12162
|
l = {
|
|
12147
12163
|
shell: e,
|
|
12148
12164
|
card: t,
|
|
12149
|
-
shellLeft:
|
|
12150
|
-
shellTop:
|
|
12151
|
-
anchorX:
|
|
12152
|
-
anchorY:
|
|
12153
|
-
cardMaxHeight:
|
|
12165
|
+
shellLeft: fm(e, "left"),
|
|
12166
|
+
shellTop: fm(e, "top"),
|
|
12167
|
+
anchorX: fm(e, "--mesurer-native-anchor-x"),
|
|
12168
|
+
anchorY: fm(e, "--mesurer-native-anchor-y"),
|
|
12169
|
+
cardMaxHeight: fm(t, "max-height"),
|
|
12154
12170
|
placement: t.getAttribute("data-mesurer-text-inspector-placement"),
|
|
12155
|
-
marker: e.getAttribute(
|
|
12171
|
+
marker: e.getAttribute(am)
|
|
12156
12172
|
};
|
|
12157
12173
|
}, h = () => {
|
|
12158
12174
|
if (d) return;
|
|
12159
|
-
let e = c.querySelector(
|
|
12175
|
+
let e = c.querySelector(tm), t = c.querySelector(im), n = c.querySelector(rm), r = c.querySelectorAll(nm), a = r.item(r.length - 1);
|
|
12160
12176
|
if (!e?.isConnected || !t?.isConnected || !n?.isConnected || !a?.isConnected) {
|
|
12161
12177
|
p();
|
|
12162
12178
|
return;
|
|
12163
12179
|
}
|
|
12164
12180
|
l && (l.shell !== t || l.card !== n) && p();
|
|
12165
|
-
let s =
|
|
12181
|
+
let s = om(a.getBoundingClientRect());
|
|
12166
12182
|
if (s.width <= 0 || s.height <= 0) return;
|
|
12167
12183
|
let u = t.dataset.mesurerNativeScrollOwner === "typography" && t.dataset.mesurerNativeScrollAnchor === "offset", h = s.right > 0 && s.bottom > 0 && s.left < i.innerWidth && s.top < i.innerHeight;
|
|
12168
12184
|
if (u && !h) return;
|
|
12169
|
-
let g =
|
|
12185
|
+
let g = _m(f(), s, o), _ = um(s), v = om(n.getBoundingClientRect()), y = cm(v, _) || g.some((e) => cm(v, e));
|
|
12170
12186
|
if (!l && !y) return;
|
|
12171
12187
|
l || m(t, n);
|
|
12172
|
-
let b = Math.max(v.height, n.scrollHeight), x =
|
|
12188
|
+
let b = Math.max(v.height, n.scrollHeight), x = dm(s, g, {
|
|
12173
12189
|
width: v.width,
|
|
12174
12190
|
height: b
|
|
12175
12191
|
}, {
|
|
12176
12192
|
width: i.innerWidth,
|
|
12177
12193
|
height: i.innerHeight
|
|
12178
12194
|
});
|
|
12179
|
-
u ? (
|
|
12195
|
+
u ? (pm(t, "--mesurer-native-anchor-x", `${x.left - s.left}px`), pm(t, "--mesurer-native-anchor-y", `${x.top - s.top}px`)) : (pm(t, "left", `${x.left}px`), pm(t, "top", `${x.top}px`)), x.maxHeight === null && l ? mm(n, "max-height", l.cardMaxHeight) : x.maxHeight !== null && pm(n, "max-height", `${x.maxHeight}px`), n.dataset.mesurerTextInspectorPlacement !== x.placement && (n.dataset.mesurerTextInspectorPlacement = x.placement), hm(t, am, "true");
|
|
12180
12196
|
}, g = () => {
|
|
12181
12197
|
d || u || (u = i.requestAnimationFrame(() => {
|
|
12182
12198
|
u = 0, h();
|
|
@@ -12187,7 +12203,7 @@ function hm(e, t, n = t.portalTarget) {
|
|
|
12187
12203
|
subtree: !0
|
|
12188
12204
|
});
|
|
12189
12205
|
let v = n === a ? null : new o.MutationObserver((e) => {
|
|
12190
|
-
e.some((e) => e.type === "attributes" ?
|
|
12206
|
+
e.some((e) => e.type === "attributes" ? vm(e.target, o) : vm(e.target, o) ? !0 : [...e.addedNodes, ...e.removedNodes].some((e) => vm(e, o))) && g();
|
|
12191
12207
|
});
|
|
12192
12208
|
v?.observe(n, {
|
|
12193
12209
|
childList: !0,
|
|
@@ -12198,8 +12214,8 @@ function hm(e, t, n = t.portalTarget) {
|
|
|
12198
12214
|
d = !0, _.disconnect(), v?.disconnect(), i.removeEventListener("resize", g, !0), i.removeEventListener("dblclick", g, !0), u && i.cancelAnimationFrame(u), p();
|
|
12199
12215
|
});
|
|
12200
12216
|
}
|
|
12201
|
-
var
|
|
12202
|
-
function
|
|
12217
|
+
var bm = "#0d99ff", xm = "#8a8a8a", Sm = 288, Cm = 1.5, wm = 80, Tm = (e, t, n = 2) => Math.abs(e.left - t.left) <= n && Math.abs(e.top - t.top) <= n && Math.abs(e.width - t.width) <= n && Math.abs(e.height - t.height) <= n, Em = (e, t, n) => Math.min(Math.max(e, t), n);
|
|
12218
|
+
function Dm(e, t) {
|
|
12203
12219
|
let { ownerDocument: n, ownerWindow: r, pageTarget: i, portalTarget: a } = t, o = r, s = a.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), c = s.item(s.length - 1);
|
|
12204
12220
|
if (!c) return;
|
|
12205
12221
|
let l = c.closest("[data-mesurer-root='true']"), u = null, d = /* @__PURE__ */ new Map(), f = null, p = !1, m = null, h = null, g = null, _ = 0, v = 0, y = !1, b = !1, x = () => l?.querySelector("button[data-mesurer-builtin='text-inspector']") ?? null, S = () => {
|
|
@@ -12242,7 +12258,7 @@ function Cm(e, t) {
|
|
|
12242
12258
|
ariaPressed: t.getAttribute("aria-pressed"),
|
|
12243
12259
|
background: t.style.backgroundColor,
|
|
12244
12260
|
color: t.style.color
|
|
12245
|
-
}, t.setAttribute("aria-pressed", "true"), t.style.backgroundColor =
|
|
12261
|
+
}, t.setAttribute("aria-pressed", "true"), t.style.backgroundColor = bm, t.style.color = "#ffffff";
|
|
12246
12262
|
return;
|
|
12247
12263
|
}
|
|
12248
12264
|
if (delete l.dataset.mesurerTypographyContextActive, !t || !u) {
|
|
@@ -12302,8 +12318,8 @@ function Cm(e, t) {
|
|
|
12302
12318
|
height: "7px",
|
|
12303
12319
|
flex: "0 0 7px",
|
|
12304
12320
|
boxSizing: "border-box",
|
|
12305
|
-
borderRight: `1.5px solid ${
|
|
12306
|
-
borderBottom: `1.5px solid ${
|
|
12321
|
+
borderRight: `1.5px solid ${xm}`,
|
|
12322
|
+
borderBottom: `1.5px solid ${xm}`,
|
|
12307
12323
|
color: "transparent",
|
|
12308
12324
|
fontSize: "0",
|
|
12309
12325
|
lineHeight: "0",
|
|
@@ -12321,9 +12337,9 @@ function Cm(e, t) {
|
|
|
12321
12337
|
}, M = () => g?.isConnected ? g : (g = n.createElement("div"), g.dataset.mesurerTextCaret = "true", g.dataset.mesurerInspectorUi = "true", g.setAttribute("aria-hidden", "true"), Object.assign(g.style, {
|
|
12322
12338
|
position: "fixed",
|
|
12323
12339
|
zIndex: "2147483647",
|
|
12324
|
-
width: `${
|
|
12340
|
+
width: `${Cm}px`,
|
|
12325
12341
|
pointerEvents: "none",
|
|
12326
|
-
transform: `translateX(-${
|
|
12342
|
+
transform: `translateX(-${Cm / 2}px)`,
|
|
12327
12343
|
transformOrigin: "center"
|
|
12328
12344
|
}), a.append(g), g.animate?.([
|
|
12329
12345
|
{
|
|
@@ -12360,7 +12376,7 @@ function Cm(e, t) {
|
|
|
12360
12376
|
], s = [];
|
|
12361
12377
|
for (let [e, t] of a) for (let r of n.elementsFromPoint(e, t)) !(r instanceof o.HTMLElement) || s.includes(r) || i.contains(r) && (r.closest("[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']") || s.push(r));
|
|
12362
12378
|
for (let t of s) {
|
|
12363
|
-
if (!
|
|
12379
|
+
if (!Tm(t.getBoundingClientRect(), r)) continue;
|
|
12364
12380
|
let n = Array.from(t.childNodes).filter((e) => e.nodeType === o.Node.TEXT_NODE).flatMap((t) => {
|
|
12365
12381
|
let n = N(t, e.value);
|
|
12366
12382
|
return n ? [{
|
|
@@ -12423,7 +12439,7 @@ function Cm(e, t) {
|
|
|
12423
12439
|
j();
|
|
12424
12440
|
return;
|
|
12425
12441
|
}
|
|
12426
|
-
let o = a.leadingLength +
|
|
12442
|
+
let o = a.leadingLength + Em(i, 0, e.value.length), s = F(a.node, o);
|
|
12427
12443
|
if (!s || s.left < 0 || s.top < 0 || s.left > r.innerWidth || s.top > r.innerHeight) {
|
|
12428
12444
|
j();
|
|
12429
12445
|
return;
|
|
@@ -12433,7 +12449,7 @@ function Cm(e, t) {
|
|
|
12433
12449
|
left: `${s.left}px`,
|
|
12434
12450
|
top: `${s.top}px`,
|
|
12435
12451
|
height: `${Math.max(1, s.height)}px`,
|
|
12436
|
-
background: c.color && c.color !== "transparent" ? c.color :
|
|
12452
|
+
background: c.color && c.color !== "transparent" ? c.color : bm
|
|
12437
12453
|
});
|
|
12438
12454
|
}, L = () => {
|
|
12439
12455
|
if (_ = 0, y) return;
|
|
@@ -12448,7 +12464,7 @@ function Cm(e, t) {
|
|
|
12448
12464
|
}, z = () => {
|
|
12449
12465
|
_ &&= (r.cancelAnimationFrame(_), 0), g && j(), v && r.clearTimeout(v), v = r.setTimeout(() => {
|
|
12450
12466
|
v = 0, R();
|
|
12451
|
-
},
|
|
12467
|
+
}, wm);
|
|
12452
12468
|
}, B = () => {
|
|
12453
12469
|
m && (m.removeEventListener("input", R), m.removeEventListener("select", R), m.removeEventListener("keyup", R), m.removeEventListener("pointerup", R), m.removeEventListener("focus", R), m.removeEventListener("blur", R), m = null, h = null);
|
|
12454
12470
|
}, V = (e) => {
|
|
@@ -12482,7 +12498,7 @@ function Cm(e, t) {
|
|
|
12482
12498
|
}
|
|
12483
12499
|
for (let e of Array.from(r.children)) e instanceof o.HTMLButtonElement && e.hasAttribute("data-mesurer-text-style-preset") || e.remove();
|
|
12484
12500
|
Object.assign(r.style, {
|
|
12485
|
-
width: `${
|
|
12501
|
+
width: `${Sm}px`,
|
|
12486
12502
|
maxHeight: "min(260px, calc(100vh - 16px))",
|
|
12487
12503
|
overflowY: "auto"
|
|
12488
12504
|
}), r.setAttribute("aria-label", "Text presets");
|
|
@@ -12509,7 +12525,7 @@ function Cm(e, t) {
|
|
|
12509
12525
|
y = !0, ee.disconnect(), r.removeEventListener("resize", R), r.removeEventListener("scroll", z, !0), _ && r.cancelAnimationFrame(_), v && r.clearTimeout(v), _ = 0, v = 0, B(), w(), j(), C(), E(!1);
|
|
12510
12526
|
});
|
|
12511
12527
|
}
|
|
12512
|
-
var
|
|
12528
|
+
var Om = "#0d99ff", km = "rgba(13, 153, 255, 0.22)", Am = /* @__PURE__ */ new Set([
|
|
12513
12529
|
"HTML",
|
|
12514
12530
|
"BODY",
|
|
12515
12531
|
"SCRIPT",
|
|
@@ -12525,10 +12541,10 @@ var wm = "#0d99ff", Tm = "rgba(13, 153, 255, 0.22)", Em = /* @__PURE__ */ new Se
|
|
|
12525
12541
|
"TEXTAREA",
|
|
12526
12542
|
"SELECT",
|
|
12527
12543
|
"OPTION"
|
|
12528
|
-
]),
|
|
12544
|
+
]), jm = (e, t) => Array.from(e.childNodes).map((e, t) => ({
|
|
12529
12545
|
node: e,
|
|
12530
12546
|
index: t
|
|
12531
|
-
})).filter((e) => e.node.nodeType === t.Node.TEXT_NODE && !!e.node.nodeValue?.trim()),
|
|
12547
|
+
})).filter((e) => e.node.nodeType === t.Node.TEXT_NODE && !!e.node.nodeValue?.trim()), Mm = (e, t, n, r, i) => {
|
|
12532
12548
|
let a = e, o = a.caretPositionFromPoint?.(r, i);
|
|
12533
12549
|
if (o?.offsetNode instanceof t.Text) {
|
|
12534
12550
|
let e = n.find((e) => e.node === o.offsetNode);
|
|
@@ -12551,50 +12567,43 @@ var wm = "#0d99ff", Tm = "rgba(13, 153, 255, 0.22)", Em = /* @__PURE__ */ new Se
|
|
|
12551
12567
|
if (Array.from(a).some((e) => r >= e.left - 1 && r <= e.right + 1 && i >= e.top - 1 && i <= e.bottom + 1)) return t;
|
|
12552
12568
|
}
|
|
12553
12569
|
return null;
|
|
12554
|
-
},
|
|
12555
|
-
function
|
|
12570
|
+
}, Nm = (e, t, n) => Math.min(Math.max(e, t), n);
|
|
12571
|
+
function Pm(e, t) {
|
|
12556
12572
|
let { ownerDocument: n, ownerWindow: r, pageTarget: i } = t, a = r, o = () => {
|
|
12557
12573
|
let e = t.currentToolMode?.() ?? "none";
|
|
12558
12574
|
return e === "text-inspector" || e === "select";
|
|
12559
12575
|
}, s = (e) => Tl(e, i) && !e.closest("[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']"), c = (e, i) => {
|
|
12560
|
-
if (
|
|
12576
|
+
if (dp(t), o()) for (let o of n.elementsFromPoint(e, i)) {
|
|
12561
12577
|
if (mo(o, r)) return;
|
|
12562
|
-
if (!(o instanceof a.HTMLElement) || !s(o) ||
|
|
12563
|
-
let c =
|
|
12578
|
+
if (!(o instanceof a.HTMLElement) || !s(o) || Am.has(o.tagName) || o.isContentEditable) continue;
|
|
12579
|
+
let c = jm(o, a);
|
|
12564
12580
|
if (c.length === 0) continue;
|
|
12565
12581
|
if (c.length === 1) {
|
|
12566
|
-
|
|
12582
|
+
fp(t, {
|
|
12567
12583
|
element: o,
|
|
12568
|
-
node: c[0].node
|
|
12584
|
+
node: c[0].node,
|
|
12585
|
+
nodeIndex: c[0].index
|
|
12569
12586
|
});
|
|
12570
12587
|
return;
|
|
12571
12588
|
}
|
|
12572
|
-
let l =
|
|
12573
|
-
if (
|
|
12574
|
-
|
|
12575
|
-
|
|
12576
|
-
|
|
12577
|
-
|
|
12578
|
-
|
|
12579
|
-
|
|
12589
|
+
let l = Mm(n, a, c, e, i);
|
|
12590
|
+
if (l) {
|
|
12591
|
+
fp(t, {
|
|
12592
|
+
element: o,
|
|
12593
|
+
node: l.node,
|
|
12594
|
+
nodeIndex: l.index
|
|
12595
|
+
});
|
|
12596
|
+
return;
|
|
12580
12597
|
}
|
|
12581
|
-
let u = Array.from(o.childNodes).map((e, t) => t === l.index || e.nodeType !== a.Node.TEXT_NODE || !e.nodeValue?.trim() ? e : n.createComment("mesurer-non-target-text")), d = () => u;
|
|
12582
|
-
Object.defineProperty(o, "childNodes", {
|
|
12583
|
-
configurable: !0,
|
|
12584
|
-
get: d
|
|
12585
|
-
}), r.setTimeout(() => {
|
|
12586
|
-
Object.getOwnPropertyDescriptor(o, "childNodes")?.get === d && Reflect.deleteProperty(o, "childNodes");
|
|
12587
|
-
}, 0);
|
|
12588
|
-
return;
|
|
12589
12598
|
}
|
|
12590
12599
|
}, l = (e) => c(e.clientX, e.clientY), u = (e) => {
|
|
12591
12600
|
!e.pointerType || e.pointerType === "mouse" || c(e.clientX, e.clientY);
|
|
12592
12601
|
};
|
|
12593
12602
|
r.addEventListener("dblclick", l, !0), r.addEventListener("pointerup", u, !0), e.lifecycle.onDispose(() => {
|
|
12594
|
-
|
|
12603
|
+
dp(t), r.removeEventListener("dblclick", l, !0), r.removeEventListener("pointerup", u, !0);
|
|
12595
12604
|
});
|
|
12596
12605
|
}
|
|
12597
|
-
function
|
|
12606
|
+
function Fm(e, t) {
|
|
12598
12607
|
let { ownerDocument: n, ownerWindow: r, pageTarget: i, portalTarget: a } = t, o = r, s = a.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), c = s.item(s.length - 1);
|
|
12599
12608
|
if (!c) return;
|
|
12600
12609
|
let l = t.createWorkspaceRuntime(), u = null, d = [], f = null, p = null, m = !1, h = 0, g = !1, _ = () => {
|
|
@@ -12611,7 +12620,7 @@ function Mm(e, t) {
|
|
|
12611
12620
|
zIndex: "2147483644",
|
|
12612
12621
|
pointerEvents: "none",
|
|
12613
12622
|
borderRadius: "2px",
|
|
12614
|
-
background:
|
|
12623
|
+
background: km,
|
|
12615
12624
|
transition: "none",
|
|
12616
12625
|
animation: "none"
|
|
12617
12626
|
}), a.append(r), d[e] = r, r;
|
|
@@ -12623,7 +12632,7 @@ function Mm(e, t) {
|
|
|
12623
12632
|
pointerEvents: "none",
|
|
12624
12633
|
boxSizing: "border-box",
|
|
12625
12634
|
background: "transparent",
|
|
12626
|
-
boxShadow: `inset 0 0 0 1.5px ${
|
|
12635
|
+
boxShadow: `inset 0 0 0 1.5px ${Om}`,
|
|
12627
12636
|
transition: "none",
|
|
12628
12637
|
animation: "none"
|
|
12629
12638
|
}), c.append(u), u), S = () => {
|
|
@@ -12640,7 +12649,7 @@ function Mm(e, t) {
|
|
|
12640
12649
|
v();
|
|
12641
12650
|
return;
|
|
12642
12651
|
}
|
|
12643
|
-
let o = t.node.nodeValue ?? "", s = o.length - o.trimStart().length, c = o.length - o.trimEnd().length, l = Math.max(0, o.length - s - c), u = s +
|
|
12652
|
+
let o = t.node.nodeValue ?? "", s = o.length - o.trimStart().length, c = o.length - o.trimEnd().length, l = Math.max(0, o.length - s - c), u = s + Nm(Math.min(i, a), 0, l), d = s + Nm(Math.max(i, a), 0, l);
|
|
12644
12653
|
if (u === d) {
|
|
12645
12654
|
v();
|
|
12646
12655
|
return;
|
|
@@ -12674,12 +12683,13 @@ function Mm(e, t) {
|
|
|
12674
12683
|
}, T = (e) => {
|
|
12675
12684
|
let t = l.currentSelection().elements.filter((e) => e.isConnected && Tl(e, i) && !e.closest("[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']"));
|
|
12676
12685
|
if (t.length !== 1) return null;
|
|
12677
|
-
let n = t[0], r =
|
|
12686
|
+
let n = t[0], r = jm(n, o);
|
|
12678
12687
|
if (!r.length) return null;
|
|
12679
12688
|
let a = e.value.trim(), s = r.find(({ node: e }) => (e.nodeValue ?? "").trim() === a) ?? (r.length === 1 ? r[0] : null);
|
|
12680
12689
|
return s ? {
|
|
12681
12690
|
element: n,
|
|
12682
|
-
node: s.node
|
|
12691
|
+
node: s.node,
|
|
12692
|
+
nodeIndex: s.index
|
|
12683
12693
|
} : null;
|
|
12684
12694
|
}, E = () => {
|
|
12685
12695
|
if (g) return;
|
|
@@ -12689,7 +12699,7 @@ function Mm(e, t) {
|
|
|
12689
12699
|
return;
|
|
12690
12700
|
}
|
|
12691
12701
|
e.style.opacity = "0", e.style.background = "transparent", e.style.boxShadow = "none", w(e);
|
|
12692
|
-
let n =
|
|
12702
|
+
let n = pp(t) ?? p ?? T(e);
|
|
12693
12703
|
n?.element.isConnected && n.node.isConnected && (p = n);
|
|
12694
12704
|
let a = n?.element ?? null, o = a?.isConnected && Tl(a, i) && !a.closest("[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']") ? a : null, s = o?.getBoundingClientRect() ?? e.getBoundingClientRect(), l = r.getComputedStyle(o ?? e), u = x();
|
|
12695
12705
|
Object.assign(u.style, {
|
|
@@ -12711,25 +12721,25 @@ function Mm(e, t) {
|
|
|
12711
12721
|
capture: !0,
|
|
12712
12722
|
passive: !0
|
|
12713
12723
|
}), E(), e.lifecycle.onDispose(() => {
|
|
12714
|
-
g = !0,
|
|
12724
|
+
g = !0, dp(t), O.disconnect(), r.removeEventListener("resize", S), r.removeEventListener("scroll", D, !0), h && r.cancelAnimationFrame(h), f && (f.removeEventListener("input", S), f.removeEventListener("select", S), f.removeEventListener("keyup", S), f.removeEventListener("pointerup", S)), p = null, v(), _(), l.dispose();
|
|
12715
12725
|
});
|
|
12716
12726
|
}
|
|
12717
|
-
var
|
|
12718
|
-
function
|
|
12727
|
+
var Im = "[data-mesurer-selected-measurement='true']", Lm = "[data-mesurer-hover-measurement='true']", Rm = "[data-mesurer-text-editor='true']", zm = "data-mesurer-direct-edit-selection-suppressed", Bm = "data-mesurer-direct-edit-hover-suppressed";
|
|
12728
|
+
function Vm(e, t, n = t.portalTarget) {
|
|
12719
12729
|
let { ownerDocument: r, ownerWindow: i, portalTarget: a } = t, o = i, s = a.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), c = s.item(s.length - 1);
|
|
12720
12730
|
if (!c) return;
|
|
12721
12731
|
let l = t.createWorkspaceRuntime(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Set(), p = /* @__PURE__ */ new Set(), m = /* @__PURE__ */ new Set(), h = !1, g = !1, _ = !1, v = null, y = () => {
|
|
12722
12732
|
let e = [a];
|
|
12723
12733
|
return n !== a && e.push(n), r.body && !e.includes(r.body) && e.push(r.body), e;
|
|
12724
12734
|
}, b = (e) => {
|
|
12725
|
-
e.matches(
|
|
12735
|
+
e.matches(Im) && f.add(e), e.matches(Lm) && p.add(e);
|
|
12726
12736
|
}, x = (e) => {
|
|
12727
12737
|
if (e instanceof o.HTMLElement) {
|
|
12728
12738
|
b(e);
|
|
12729
|
-
for (let t of e.querySelectorAll(`${
|
|
12739
|
+
for (let t of e.querySelectorAll(`${Im}, ${Lm}`)) b(t);
|
|
12730
12740
|
}
|
|
12731
12741
|
}, S = (e) => {
|
|
12732
|
-
for (let t of e.querySelectorAll(`${
|
|
12742
|
+
for (let t of e.querySelectorAll(`${Im}, ${Lm}`)) b(t);
|
|
12733
12743
|
};
|
|
12734
12744
|
for (let e of y()) S(e);
|
|
12735
12745
|
let C = (e, t, n) => {
|
|
@@ -12747,28 +12757,28 @@ function Rm(e, t, n = t.portalTarget) {
|
|
|
12747
12757
|
if (!e.isConnected) {
|
|
12748
12758
|
f.delete(e);
|
|
12749
12759
|
let t = u.get(e);
|
|
12750
|
-
t && w(e, t, u,
|
|
12760
|
+
t && w(e, t, u, zm);
|
|
12751
12761
|
continue;
|
|
12752
12762
|
}
|
|
12753
|
-
C(e, u,
|
|
12763
|
+
C(e, u, zm);
|
|
12754
12764
|
}
|
|
12755
|
-
for (let [e, t] of Array.from(u)) (!e.isConnected || !f.has(e)) && w(e, t, u,
|
|
12765
|
+
for (let [e, t] of Array.from(u)) (!e.isConnected || !f.has(e)) && w(e, t, u, zm);
|
|
12756
12766
|
}, D = () => {
|
|
12757
12767
|
let e = l.hoveredElement(), t = l.currentSelection().elements, n = e ? m.has(e) : !1, r = e ? t.includes(e) : !1;
|
|
12758
12768
|
if (!n && !r) {
|
|
12759
|
-
T(d,
|
|
12769
|
+
T(d, Bm);
|
|
12760
12770
|
return;
|
|
12761
12771
|
}
|
|
12762
12772
|
for (let e of Array.from(p)) {
|
|
12763
12773
|
if (!e.isConnected) {
|
|
12764
12774
|
p.delete(e);
|
|
12765
12775
|
let t = d.get(e);
|
|
12766
|
-
t && w(e, t, d,
|
|
12776
|
+
t && w(e, t, d, Bm);
|
|
12767
12777
|
continue;
|
|
12768
12778
|
}
|
|
12769
|
-
C(e, d,
|
|
12779
|
+
C(e, d, Bm);
|
|
12770
12780
|
}
|
|
12771
|
-
for (let [e, t] of Array.from(d)) (!e.isConnected || !p.has(e)) && w(e, t, d,
|
|
12781
|
+
for (let [e, t] of Array.from(d)) (!e.isConnected || !p.has(e)) && w(e, t, d, Bm);
|
|
12772
12782
|
}, O = () => {
|
|
12773
12783
|
_ || g || (g = !0, i.queueMicrotask(() => {
|
|
12774
12784
|
g = !1, M();
|
|
@@ -12791,11 +12801,11 @@ function Rm(e, t, n = t.portalTarget) {
|
|
|
12791
12801
|
v?.disconnect(), v = null;
|
|
12792
12802
|
}, M = () => {
|
|
12793
12803
|
if (!_) {
|
|
12794
|
-
if (c.querySelector(
|
|
12804
|
+
if (c.querySelector(Rm)) {
|
|
12795
12805
|
h || (m = new Set(l.currentSelection().elements)), h = !0, E(), D(), A();
|
|
12796
12806
|
return;
|
|
12797
12807
|
}
|
|
12798
|
-
!h && u.size === 0 && d.size === 0 || (h = !1, m.clear(), j(), T(u,
|
|
12808
|
+
!h && u.size === 0 && d.size === 0 || (h = !1, m.clear(), j(), T(u, zm), T(d, Bm));
|
|
12799
12809
|
}
|
|
12800
12810
|
}, N = new o.MutationObserver(k);
|
|
12801
12811
|
N.observe(c, {
|
|
@@ -12804,39 +12814,39 @@ function Rm(e, t, n = t.portalTarget) {
|
|
|
12804
12814
|
});
|
|
12805
12815
|
let P = l.subscribe(O);
|
|
12806
12816
|
M(), e.lifecycle.onDispose(() => {
|
|
12807
|
-
_ = !0, N.disconnect(), j(), P(), l.dispose(), T(u,
|
|
12817
|
+
_ = !0, N.disconnect(), j(), P(), l.dispose(), T(u, zm), T(d, Bm), f.clear(), p.clear();
|
|
12808
12818
|
});
|
|
12809
12819
|
}
|
|
12810
|
-
var
|
|
12820
|
+
var Hm = "[data-mesurer-text-editor='true']", Um = "[data-mesurer-text-edit-ring='true']", Wm = "[data-mesurer-text-inspector-info='true']", Gm = "[data-mesurer-text-inspector-placement-shell='true']", Km = "[data-mesurer-measurement='true']", qm = "[data-mesurer-measurement-chrome='true']", Jm = "[data-mesurer-measurement-label='true']", Ym = 20, Xm = .75, Zm = "data-mesurer-symmetric-measurement-spacing", Qm = "mesurerSymmetricCardOffsetY", $m = (e) => ({
|
|
12811
12821
|
left: e.left,
|
|
12812
12822
|
top: e.top,
|
|
12813
12823
|
right: e.right,
|
|
12814
12824
|
bottom: e.bottom,
|
|
12815
12825
|
width: e.width,
|
|
12816
12826
|
height: e.height
|
|
12817
|
-
}),
|
|
12827
|
+
}), eh = (e, t) => Math.abs(e.left - t.left) + Math.abs(e.top - t.top) + Math.abs(e.width - t.width) + Math.abs(e.height - t.height), th = (e) => ({
|
|
12818
12828
|
left: e.left,
|
|
12819
12829
|
top: e.bottom + 2,
|
|
12820
12830
|
right: e.right,
|
|
12821
|
-
bottom: e.bottom + 2 +
|
|
12831
|
+
bottom: e.bottom + 2 + Ym,
|
|
12822
12832
|
width: e.width,
|
|
12823
|
-
height:
|
|
12824
|
-
}),
|
|
12825
|
-
function
|
|
12833
|
+
height: Ym
|
|
12834
|
+
}), nh = (e, t, n) => e.style.getPropertyValue(t) !== n && (e.style.setProperty(t, n), !0);
|
|
12835
|
+
function rh(e, t, n = t.portalTarget) {
|
|
12826
12836
|
let { ownerDocument: r, ownerWindow: i, portalTarget: a } = t, o = i, s = a.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), c = s.item(s.length - 1);
|
|
12827
12837
|
if (!c) return;
|
|
12828
12838
|
let l = /* @__PURE__ */ new Set(), u = null, d = null, f = null, p = null, m = !1, h = 0, g = !1, _ = (e) => {
|
|
12829
|
-
e instanceof o.HTMLTextAreaElement && e.matches(
|
|
12839
|
+
e instanceof o.HTMLTextAreaElement && e.matches(Hm) && (u = e), e.matches(Um) && (d = e), e.matches(Gm) && (f = e), e.matches(Wm) && (p = e), e.matches(Jm) && l.add(e);
|
|
12830
12840
|
}, v = (e) => {
|
|
12831
|
-
if (e instanceof o.HTMLElement && (_(e), e === c || e.matches(`${
|
|
12832
|
-
zm,
|
|
12833
|
-
Bm,
|
|
12841
|
+
if (e instanceof o.HTMLElement && (_(e), e === c || e.matches(`${Km}, [data-mesurer-text-edit-runtime='true'], [data-mesurer-root='true']`))) for (let t of [
|
|
12834
12842
|
Hm,
|
|
12835
|
-
|
|
12836
|
-
Gm
|
|
12843
|
+
Um,
|
|
12844
|
+
Gm,
|
|
12845
|
+
Wm,
|
|
12846
|
+
Jm
|
|
12837
12847
|
]) for (let n of e.querySelectorAll(t)) _(n);
|
|
12838
12848
|
}, y = (e) => {
|
|
12839
|
-
for (let t of e.querySelectorAll(
|
|
12849
|
+
for (let t of e.querySelectorAll(Km)) v(t);
|
|
12840
12850
|
};
|
|
12841
12851
|
v(c), y(a), n !== a && y(n);
|
|
12842
12852
|
let b = (e) => {
|
|
@@ -12846,27 +12856,27 @@ function eh(e, t, n = t.portalTarget) {
|
|
|
12846
12856
|
l.delete(n);
|
|
12847
12857
|
continue;
|
|
12848
12858
|
}
|
|
12849
|
-
let r = n.closest(
|
|
12859
|
+
let r = n.closest(Km);
|
|
12850
12860
|
if (!(r instanceof o.HTMLElement) || r.getAttribute("data-mesurer-selected-measurement") !== "true") continue;
|
|
12851
|
-
let i =
|
|
12861
|
+
let i = $m(n.getBoundingClientRect());
|
|
12852
12862
|
if (i.width <= 0 || i.height <= 0) continue;
|
|
12853
|
-
let a = r.querySelector(
|
|
12863
|
+
let a = r.querySelector(qm), s = a?.isConnected ? $m(a.getBoundingClientRect()) : null, c = e.bottom + 2, u = e.left + e.width / 2, d = i.left + i.width / 2, f = s && s.width > 0 && s.height > 0 ? eh(s, e) : Math.abs(i.top - c) + Math.abs(d - u);
|
|
12854
12864
|
f > 32 || (!t || f < t.score) && (t = {
|
|
12855
12865
|
rect: i,
|
|
12856
12866
|
score: f
|
|
12857
12867
|
});
|
|
12858
12868
|
}
|
|
12859
|
-
return t?.rect ??
|
|
12869
|
+
return t?.rect ?? th(e);
|
|
12860
12870
|
}, x = () => {
|
|
12861
12871
|
if (g || !u?.isConnected || !d?.isConnected || !f?.isConnected || !p?.isConnected) return;
|
|
12862
|
-
let e =
|
|
12872
|
+
let e = $m(d.getBoundingClientRect());
|
|
12863
12873
|
if (e.width <= 0 || e.height <= 0 || !(e.right > 0 && e.bottom > 0 && e.left < i.innerWidth && e.top < i.innerHeight)) return;
|
|
12864
|
-
let t =
|
|
12874
|
+
let t = $m(p.getBoundingClientRect());
|
|
12865
12875
|
if (t.width <= 0 || t.height <= 0 || t.top < e.bottom) return;
|
|
12866
12876
|
let n = b(e), r = n.top - e.bottom, a = t.top - n.bottom, o = a - r;
|
|
12867
|
-
if (f.setAttribute(
|
|
12868
|
-
let s = Number.parseFloat(p.dataset[
|
|
12869
|
-
p.dataset[
|
|
12877
|
+
if (f.setAttribute(Zm, "true"), f.dataset.mesurerSymmetricSourceGap = r.toFixed(3), f.dataset.mesurerSymmetricTypographyGap = a.toFixed(3), Math.abs(o) <= Xm) return;
|
|
12878
|
+
let s = Number.parseFloat(p.dataset[Qm] ?? "0"), c = (Number.isFinite(s) ? s : 0) - o;
|
|
12879
|
+
p.dataset[Qm] = c.toFixed(3), nh(p, "translate", `0px ${c}px`);
|
|
12870
12880
|
}, S = () => {
|
|
12871
12881
|
g || m || (m = !0, i.queueMicrotask(() => {
|
|
12872
12882
|
m = !1, !h && (h = i.requestAnimationFrame(() => {
|
|
@@ -12881,7 +12891,7 @@ function eh(e, t, n = t.portalTarget) {
|
|
|
12881
12891
|
t = !0;
|
|
12882
12892
|
continue;
|
|
12883
12893
|
}
|
|
12884
|
-
n.target instanceof o.HTMLElement && n.target.matches(
|
|
12894
|
+
n.target instanceof o.HTMLElement && n.target.matches(Gm) && (_(n.target), t = !0);
|
|
12885
12895
|
}
|
|
12886
12896
|
t && S();
|
|
12887
12897
|
});
|
|
@@ -12897,7 +12907,7 @@ function eh(e, t, n = t.portalTarget) {
|
|
|
12897
12907
|
});
|
|
12898
12908
|
let w = new o.MutationObserver((e) => {
|
|
12899
12909
|
let t = !1;
|
|
12900
|
-
for (let n of e) for (let e of n.addedNodes) e instanceof o.HTMLElement && e.matches(`${
|
|
12910
|
+
for (let n of e) for (let e of n.addedNodes) e instanceof o.HTMLElement && e.matches(`${Km}, [data-mesurer-root='true']`) && (v(e), t = !0);
|
|
12901
12911
|
t && S();
|
|
12902
12912
|
}), T = /* @__PURE__ */ new Set(), E = (e, t) => {
|
|
12903
12913
|
T.has(e) || e === c || (T.add(e), w.observe(e, {
|
|
@@ -12906,10 +12916,10 @@ function eh(e, t, n = t.portalTarget) {
|
|
|
12906
12916
|
}));
|
|
12907
12917
|
};
|
|
12908
12918
|
E(a, a !== r.body), n !== a && E(n, !0), r.body && E(r.body, !1), i.addEventListener("resize", S, !0), i.addEventListener("dblclick", S, !0), S(), e.lifecycle.onDispose(() => {
|
|
12909
|
-
g = !0, C.disconnect(), w.disconnect(), i.removeEventListener("resize", S, !0), i.removeEventListener("dblclick", S, !0), h && i.cancelAnimationFrame(h), l.clear(), f?.removeAttribute(
|
|
12919
|
+
g = !0, C.disconnect(), w.disconnect(), i.removeEventListener("resize", S, !0), i.removeEventListener("dblclick", S, !0), h && i.cancelAnimationFrame(h), l.clear(), f?.removeAttribute(Zm), p && (p.style.removeProperty("translate"), delete p.dataset[Qm]);
|
|
12910
12920
|
});
|
|
12911
12921
|
}
|
|
12912
|
-
var
|
|
12922
|
+
var ih = (e, t) => {
|
|
12913
12923
|
let n = {
|
|
12914
12924
|
document: e.document,
|
|
12915
12925
|
location: e.location,
|
|
@@ -12946,8 +12956,8 @@ var th = (e, t) => {
|
|
|
12946
12956
|
requestAnimationFrame: t
|
|
12947
12957
|
};
|
|
12948
12958
|
return Object.defineProperties(Object.create(null), Object.getOwnPropertyDescriptors(n));
|
|
12949
|
-
},
|
|
12950
|
-
let n = t.ownerWindow, r = !1, i = !1, a = null, o =
|
|
12959
|
+
}, ah = (e, t) => {
|
|
12960
|
+
let n = t.ownerWindow, r = !1, i = !1, a = null, o = ih(n, (e) => n.requestAnimationFrame((t) => {
|
|
12951
12961
|
r = !0;
|
|
12952
12962
|
try {
|
|
12953
12963
|
e(t);
|
|
@@ -12981,7 +12991,7 @@ var th = (e, t) => {
|
|
|
12981
12991
|
currentToolMode: s,
|
|
12982
12992
|
createInspectorMount: c
|
|
12983
12993
|
};
|
|
12984
|
-
},
|
|
12994
|
+
}, oh = "#f8fafc", sh = "#f1f5f9", ch = "#e2e8f0", lh = "#64748b", uh = "#334155", dh = "#0f172a", fh = "#0d99ff", ph = 8, mh = 8, hh = (e, t) => {
|
|
12985
12995
|
let n = /* @__PURE__ */ new Map(), r = Array.from(e.children).filter((e) => e instanceof t.HTMLElement);
|
|
12986
12996
|
for (let e = 0; e + 1 < r.length; e += 2) {
|
|
12987
12997
|
let t = r[e], i = r[e + 1], a = t.textContent?.trim();
|
|
@@ -12991,8 +13001,8 @@ var th = (e, t) => {
|
|
|
12991
13001
|
});
|
|
12992
13002
|
}
|
|
12993
13003
|
return n;
|
|
12994
|
-
},
|
|
12995
|
-
function
|
|
13004
|
+
}, gh = (e) => Array.from(e.querySelectorAll("span")).map((e) => e.textContent?.trim() ?? "").find((e) => e.startsWith("--")) ?? null;
|
|
13005
|
+
function _h(e, t) {
|
|
12996
13006
|
let { ownerDocument: n, ownerWindow: r, portalTarget: i } = t, a = r, o = i.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), s = o.item(o.length - 1);
|
|
12997
13007
|
if (!s) return;
|
|
12998
13008
|
let c = !1, l = !1, u = 0, d = 0, f = null, p = () => {
|
|
@@ -13046,28 +13056,28 @@ function mh(e, t) {
|
|
|
13046
13056
|
});
|
|
13047
13057
|
let o = n.getBoundingClientRect(), l = e.getBoundingClientRect();
|
|
13048
13058
|
if (l.width <= 0 || l.height <= 0) return;
|
|
13049
|
-
let u = l.width, d = l.height, f = r.innerWidth -
|
|
13059
|
+
let u = l.width, d = l.height, f = r.innerWidth - ph, p = r.innerHeight - ph, m = Math.max(ph, f - u), g = Math.max(ph, p - d), _ = Math.min(Math.max(o.left + o.width / 2 - u / 2, ph), m), v = Math.min(Math.max(o.top + o.height / 2 - d / 2, ph), g), y = [
|
|
13050
13060
|
{
|
|
13051
13061
|
left: _,
|
|
13052
|
-
top: o.top -
|
|
13062
|
+
top: o.top - mh - d,
|
|
13053
13063
|
placement: "above"
|
|
13054
13064
|
},
|
|
13055
13065
|
{
|
|
13056
13066
|
left: _,
|
|
13057
|
-
top: o.bottom +
|
|
13067
|
+
top: o.bottom + mh,
|
|
13058
13068
|
placement: "below"
|
|
13059
13069
|
},
|
|
13060
13070
|
{
|
|
13061
|
-
left: o.right +
|
|
13071
|
+
left: o.right + mh,
|
|
13062
13072
|
top: v,
|
|
13063
13073
|
placement: "side"
|
|
13064
13074
|
},
|
|
13065
13075
|
{
|
|
13066
|
-
left: o.left -
|
|
13076
|
+
left: o.left - mh - u,
|
|
13067
13077
|
top: v,
|
|
13068
13078
|
placement: "side"
|
|
13069
13079
|
}
|
|
13070
|
-
], b = (e, t) => e >=
|
|
13080
|
+
], b = (e, t) => e >= ph && t >= ph && e + u <= f && t + d <= p, x = (e, t) => {
|
|
13071
13081
|
let n = Math.max(0, Math.min(e + u, o.right) - Math.max(e, o.left)), r = Math.max(0, Math.min(t + d, o.bottom) - Math.max(t, o.top));
|
|
13072
13082
|
return n > 0 && r > 0;
|
|
13073
13083
|
}, S = y.find((e) => b(e.left, e.top) && !x(e.left, e.top));
|
|
@@ -13077,18 +13087,18 @@ function mh(e, t) {
|
|
|
13077
13087
|
}
|
|
13078
13088
|
let C = [{
|
|
13079
13089
|
name: "above",
|
|
13080
|
-
top:
|
|
13081
|
-
height: Math.max(0, o.top -
|
|
13090
|
+
top: ph,
|
|
13091
|
+
height: Math.max(0, o.top - mh - ph)
|
|
13082
13092
|
}, {
|
|
13083
13093
|
name: "below",
|
|
13084
|
-
top: o.bottom +
|
|
13085
|
-
height: Math.max(0, p - o.bottom -
|
|
13094
|
+
top: o.bottom + mh,
|
|
13095
|
+
height: Math.max(0, p - o.bottom - mh)
|
|
13086
13096
|
}].sort((e, t) => t.height - e.height)[0];
|
|
13087
13097
|
if (C && C.height > 0) {
|
|
13088
13098
|
e.style.maxHeight = `${C.height}px`, a.style.left = `${_}px`, a.style.top = `${C.top}px`, e.dataset.mesurerTextInspectorPlacement = C.name;
|
|
13089
13099
|
return;
|
|
13090
13100
|
}
|
|
13091
|
-
a.style.left = `${_}px`, a.style.top = `${
|
|
13101
|
+
a.style.left = `${_}px`, a.style.top = `${ph}px`, e.dataset.mesurerTextInspectorPlacement = "viewport";
|
|
13092
13102
|
}, v = () => {
|
|
13093
13103
|
c || u || (u = r.requestAnimationFrame(() => {
|
|
13094
13104
|
u = 0, _();
|
|
@@ -13104,16 +13114,16 @@ function mh(e, t) {
|
|
|
13104
13114
|
boxSizing: "border-box",
|
|
13105
13115
|
border: "1px solid transparent",
|
|
13106
13116
|
borderRadius: "5px",
|
|
13107
|
-
background:
|
|
13108
|
-
color:
|
|
13117
|
+
background: oh,
|
|
13118
|
+
color: uh,
|
|
13109
13119
|
outline: "none",
|
|
13110
13120
|
transition: "border-color 120ms ease, box-shadow 120ms ease, background 120ms ease"
|
|
13111
13121
|
}), e.addEventListener("mouseenter", () => {
|
|
13112
|
-
e.style.borderColor =
|
|
13122
|
+
e.style.borderColor = ch;
|
|
13113
13123
|
}), e.addEventListener("mouseleave", () => {
|
|
13114
13124
|
n.activeElement !== e && (e.style.borderColor = "transparent");
|
|
13115
13125
|
}), e.addEventListener("focus", () => {
|
|
13116
|
-
e.style.borderColor = "transparent", e.style.boxShadow = `inset 0 0 0 1px ${
|
|
13126
|
+
e.style.borderColor = "transparent", e.style.boxShadow = `inset 0 0 0 1px ${fh}`;
|
|
13117
13127
|
}), e.addEventListener("blur", () => {
|
|
13118
13128
|
e.style.boxShadow = "none", e.style.borderColor = "transparent";
|
|
13119
13129
|
});
|
|
@@ -13126,7 +13136,7 @@ function mh(e, t) {
|
|
|
13126
13136
|
height: "28px",
|
|
13127
13137
|
border: "1px solid transparent",
|
|
13128
13138
|
borderRadius: "5px",
|
|
13129
|
-
background:
|
|
13139
|
+
background: oh,
|
|
13130
13140
|
transition: "border-color 120ms ease, box-shadow 120ms ease, background 120ms ease"
|
|
13131
13141
|
}), Object.assign(e.style, {
|
|
13132
13142
|
appearance: "none",
|
|
@@ -13138,7 +13148,7 @@ function mh(e, t) {
|
|
|
13138
13148
|
border: "0",
|
|
13139
13149
|
borderRadius: "5px",
|
|
13140
13150
|
background: "transparent",
|
|
13141
|
-
color:
|
|
13151
|
+
color: uh,
|
|
13142
13152
|
font: "500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif",
|
|
13143
13153
|
padding: "0 27px 0 8px",
|
|
13144
13154
|
outline: "none",
|
|
@@ -13151,17 +13161,17 @@ function mh(e, t) {
|
|
|
13151
13161
|
top: "8px",
|
|
13152
13162
|
width: "7px",
|
|
13153
13163
|
height: "7px",
|
|
13154
|
-
borderRight: `1.5px solid ${
|
|
13155
|
-
borderBottom: `1.5px solid ${
|
|
13164
|
+
borderRight: `1.5px solid ${lh}`,
|
|
13165
|
+
borderBottom: `1.5px solid ${lh}`,
|
|
13156
13166
|
transform: "rotate(45deg)",
|
|
13157
13167
|
transformOrigin: "center",
|
|
13158
13168
|
pointerEvents: "none"
|
|
13159
13169
|
}), t.addEventListener("mouseenter", () => {
|
|
13160
|
-
t.style.borderColor =
|
|
13170
|
+
t.style.borderColor = ch;
|
|
13161
13171
|
}), t.addEventListener("mouseleave", () => {
|
|
13162
13172
|
n.activeElement !== e && (t.style.borderColor = "transparent");
|
|
13163
13173
|
}), e.addEventListener("focus", () => {
|
|
13164
|
-
t.style.borderColor = "transparent", t.style.boxShadow = `inset 0 0 0 1px ${
|
|
13174
|
+
t.style.borderColor = "transparent", t.style.boxShadow = `inset 0 0 0 1px ${fh}`;
|
|
13165
13175
|
}), e.addEventListener("blur", () => {
|
|
13166
13176
|
t.style.boxShadow = "none", t.style.borderColor = "transparent";
|
|
13167
13177
|
}), t.append(e, r), t;
|
|
@@ -13178,18 +13188,18 @@ function mh(e, t) {
|
|
|
13178
13188
|
Object.assign(e.style, {
|
|
13179
13189
|
width: "28px",
|
|
13180
13190
|
height: "28px",
|
|
13181
|
-
border: `1px solid ${t ?
|
|
13191
|
+
border: `1px solid ${t ? fh : "transparent"}`,
|
|
13182
13192
|
borderRadius: "5px",
|
|
13183
|
-
background: t ? "rgba(13, 153, 255, 0.10)" :
|
|
13184
|
-
color:
|
|
13193
|
+
background: t ? "rgba(13, 153, 255, 0.10)" : oh,
|
|
13194
|
+
color: dh,
|
|
13185
13195
|
padding: "0",
|
|
13186
13196
|
fontSize: "12px",
|
|
13187
13197
|
cursor: "pointer",
|
|
13188
13198
|
transition: "border-color 120ms ease, background 120ms ease"
|
|
13189
13199
|
}), e.addEventListener("mouseenter", () => {
|
|
13190
|
-
t || (e.style.borderColor =
|
|
13200
|
+
t || (e.style.borderColor = ch);
|
|
13191
13201
|
}), e.addEventListener("mouseleave", () => {
|
|
13192
|
-
e.style.borderColor = t ?
|
|
13202
|
+
e.style.borderColor = t ? fh : "transparent";
|
|
13193
13203
|
});
|
|
13194
13204
|
}, T = (e) => {
|
|
13195
13205
|
Object.assign(e.style, {
|
|
@@ -13215,10 +13225,10 @@ function mh(e, t) {
|
|
|
13215
13225
|
height: "28px",
|
|
13216
13226
|
border: "1px solid transparent",
|
|
13217
13227
|
borderRadius: "5px",
|
|
13218
|
-
background:
|
|
13228
|
+
background: oh,
|
|
13219
13229
|
padding: "3px"
|
|
13220
13230
|
}), n.addEventListener("mouseenter", () => {
|
|
13221
|
-
n.style.borderColor =
|
|
13231
|
+
n.style.borderColor = ch;
|
|
13222
13232
|
}), n.addEventListener("mouseleave", () => {
|
|
13223
13233
|
n.style.borderColor = "transparent";
|
|
13224
13234
|
}));
|
|
@@ -13229,17 +13239,17 @@ function mh(e, t) {
|
|
|
13229
13239
|
height: "28px",
|
|
13230
13240
|
border: "1px solid transparent",
|
|
13231
13241
|
borderRadius: "5px",
|
|
13232
|
-
background:
|
|
13233
|
-
color:
|
|
13242
|
+
background: oh,
|
|
13243
|
+
color: uh,
|
|
13234
13244
|
padding: "0 8px",
|
|
13235
13245
|
font: "500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif",
|
|
13236
13246
|
transition: "border-color 120ms ease, box-shadow 120ms ease, background 120ms ease"
|
|
13237
13247
|
}), e.addEventListener("mouseenter", () => {
|
|
13238
|
-
e.style.borderColor =
|
|
13248
|
+
e.style.borderColor = ch;
|
|
13239
13249
|
}), e.addEventListener("mouseleave", () => {
|
|
13240
13250
|
e.style.borderColor = "transparent";
|
|
13241
13251
|
}), e.addEventListener("focus", () => {
|
|
13242
|
-
e.style.boxShadow = `inset 0 0 0 1px ${
|
|
13252
|
+
e.style.boxShadow = `inset 0 0 0 1px ${fh}`;
|
|
13243
13253
|
}), e.addEventListener("blur", () => {
|
|
13244
13254
|
e.style.boxShadow = "none";
|
|
13245
13255
|
});
|
|
@@ -13267,7 +13277,7 @@ function mh(e, t) {
|
|
|
13267
13277
|
if (!n) return;
|
|
13268
13278
|
let r = e.get(t);
|
|
13269
13279
|
if (!r) return;
|
|
13270
|
-
let i =
|
|
13280
|
+
let i = gh(r.value);
|
|
13271
13281
|
r.value.replaceChildren(D(n, i)), Object.assign(r.value.style, {
|
|
13272
13282
|
overflow: "visible",
|
|
13273
13283
|
textOverflow: "clip",
|
|
@@ -13278,7 +13288,7 @@ function mh(e, t) {
|
|
|
13278
13288
|
if (!r) return;
|
|
13279
13289
|
let i = n.createElement("span");
|
|
13280
13290
|
i.textContent = t, i.dataset.mesurerUnifiedTextRow = "true", Object.assign(i.style, {
|
|
13281
|
-
color:
|
|
13291
|
+
color: lh,
|
|
13282
13292
|
fontSize: "11px",
|
|
13283
13293
|
alignSelf: "center"
|
|
13284
13294
|
});
|
|
@@ -13319,7 +13329,7 @@ function mh(e, t) {
|
|
|
13319
13329
|
let o = i.children.item(1);
|
|
13320
13330
|
if (!(o instanceof a.HTMLElement)) return;
|
|
13321
13331
|
if (t.querySelector("[data-mesurer-text-style-menu-button='true']")) for (let e of i.querySelectorAll("[data-mesurer-unified-text-row='true'], [data-mesurer-unified-text-presets='true']")) e.remove();
|
|
13322
|
-
let c =
|
|
13332
|
+
let c = hh(o, a);
|
|
13323
13333
|
i.dataset.mesurerTextInspectorUnified = "true", i.setAttribute("aria-label", "Typography editor"), i.removeAttribute("aria-hidden"), i.style.removeProperty("visibility"), Object.assign(i.style, {
|
|
13324
13334
|
pointerEvents: "auto",
|
|
13325
13335
|
position: "static",
|
|
@@ -13364,7 +13374,7 @@ function mh(e, t) {
|
|
|
13364
13374
|
gap: "3px",
|
|
13365
13375
|
marginTop: "9px",
|
|
13366
13376
|
paddingTop: "8px",
|
|
13367
|
-
borderTop: `1px solid ${
|
|
13377
|
+
borderTop: `1px solid ${sh}`
|
|
13368
13378
|
});
|
|
13369
13379
|
for (let t of Array.from(r.querySelectorAll("[data-mesurer-text-style-preset]"))) t.style.width = "100%", t.style.minHeight = "34px", e.append(t);
|
|
13370
13380
|
e.childElementCount && i.append(e);
|
|
@@ -13387,8 +13397,8 @@ function mh(e, t) {
|
|
|
13387
13397
|
c = !0, P.disconnect(), u && r.cancelAnimationFrame(u), d && r.clearTimeout(d), s.removeEventListener("click", A, !0), s.removeEventListener("change", j, !0), s.removeEventListener("keydown", M, !0), r.removeEventListener("resize", v), r.removeEventListener("scroll", y, !0), g();
|
|
13388
13398
|
});
|
|
13389
13399
|
}
|
|
13390
|
-
var
|
|
13391
|
-
function
|
|
13400
|
+
var vh = 4, yh = 4, bh = 220, xh = 60, Sh = (e, t, n) => Math.min(Math.max(e, t), n);
|
|
13401
|
+
function Ch(e, t) {
|
|
13392
13402
|
let { ownerWindow: n, portalTarget: r } = t, i = n, a = (e) => {
|
|
13393
13403
|
if (e.key !== "Escape") return;
|
|
13394
13404
|
let t = e.composedPath().find((e) => e instanceof i.HTMLElement && e.dataset.mesurerUnifiedSelectPopup === "true"), n = t instanceof i.HTMLElement ? t : r.querySelector("[data-mesurer-unified-select-popup='true']");
|
|
@@ -13402,7 +13412,7 @@ function bh(e, t) {
|
|
|
13402
13412
|
n.removeEventListener("keydown", a, !0);
|
|
13403
13413
|
});
|
|
13404
13414
|
}
|
|
13405
|
-
function
|
|
13415
|
+
function wh(e, t) {
|
|
13406
13416
|
let { ownerDocument: n, ownerWindow: r, portalTarget: i } = t, a = r, o = i.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), s = o.item(o.length - 1);
|
|
13407
13417
|
if (!s) return;
|
|
13408
13418
|
let c = !1, l = !1, u = 0, d = null, f = /* @__PURE__ */ new Map(), p = (e) => {
|
|
@@ -13433,10 +13443,10 @@ function xh(e, t) {
|
|
|
13433
13443
|
e.style.position = "absolute", e.style.inset = "auto", e.style.margin = "0", e.style.pointerEvents = "auto", e.style.zIndex = "2147483647", e.style.transform = "none";
|
|
13434
13444
|
let s = Math.max(1, o.width - 8), c = Math.min(Math.max(i.width, 120), s);
|
|
13435
13445
|
e.style.width = `${c}px`, e.style.maxWidth = `${s}px`;
|
|
13436
|
-
let l = Math.max(1, o.height - 8), u = Math.min(
|
|
13446
|
+
let l = Math.max(1, o.height - 8), u = Math.min(bh, Math.max(xh, e.scrollHeight)), d = Math.min(u, l);
|
|
13437
13447
|
e.style.maxHeight = `${d}px`;
|
|
13438
|
-
let m = o.left - a.left, h = o.top - a.top, g = i.left - a.left, _ = i.top - a.top, v = i.bottom - a.top, y = Math.max(0, _ - h -
|
|
13439
|
-
e.style.left = `${
|
|
13448
|
+
let m = o.left - a.left, h = o.top - a.top, g = i.left - a.left, _ = i.top - a.top, v = i.bottom - a.top, y = Math.max(0, _ - h - vh - yh), b = o.bottom - a.top, x = Math.max(0, b - v - vh - yh), S = x >= d || x >= y ? v + vh : _ - vh - d, C = m + yh, w = Math.max(C, m + o.width - yh - c), T = h + yh, E = Math.max(T, h + o.height - yh - d);
|
|
13449
|
+
e.style.left = `${Sh(g, C, w)}px`, e.style.top = `${Sh(S, T, E)}px`, f.set(e, {
|
|
13440
13450
|
left: n.scrollLeft,
|
|
13441
13451
|
top: n.scrollTop
|
|
13442
13452
|
});
|
|
@@ -13471,8 +13481,8 @@ function xh(e, t) {
|
|
|
13471
13481
|
c = !0, b.disconnect(), u && r.cancelAnimationFrame(u), r.removeEventListener("resize", y), g(null);
|
|
13472
13482
|
});
|
|
13473
13483
|
}
|
|
13474
|
-
var
|
|
13475
|
-
function
|
|
13484
|
+
var Th = "#f8fafc", Eh = "#f1f5f9", Dh = "#e2e8f0", Oh = "#64748b", kh = "#334155", Ah = "#0f172a", jh = "#0d99ff", Mh = 8, Nh = 4;
|
|
13485
|
+
function Ph(e, t) {
|
|
13476
13486
|
let { ownerDocument: n, ownerWindow: r, portalTarget: i } = t, a = r, o = i.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), s = o.item(o.length - 1);
|
|
13477
13487
|
if (!s) return;
|
|
13478
13488
|
let c = !1, l = !1, u = null, d = (e = !1) => {
|
|
@@ -13488,11 +13498,11 @@ function jh(e, t) {
|
|
|
13488
13498
|
}
|
|
13489
13499
|
let e = u.trigger.getBoundingClientRect(), t = u.popup.getBoundingClientRect(), n = Math.max(e.width, Math.min(260, t.width || e.width));
|
|
13490
13500
|
u.popup.style.width = `${n}px`;
|
|
13491
|
-
let i = u.popup.getBoundingClientRect(), a = r.innerWidth -
|
|
13492
|
-
u.popup.style.left = `${c}px`, u.popup.style.top = `${Math.max(
|
|
13493
|
-
}, p = (e
|
|
13494
|
-
let
|
|
13495
|
-
|
|
13501
|
+
let i = u.popup.getBoundingClientRect(), a = r.innerWidth - Mh, o = r.innerHeight - Mh, s = Math.max(Mh, a - i.width), c = Math.min(Math.max(e.left, Mh), s), l = e.bottom + Nh, f = e.top - Nh - i.height, p = l + i.height <= o || f < Mh ? Math.min(l, Math.max(Mh, o - i.height)) : f;
|
|
13502
|
+
u.popup.style.left = `${c}px`, u.popup.style.top = `${Math.max(Mh, p)}px`;
|
|
13503
|
+
}, p = (e) => {
|
|
13504
|
+
let t = n.createElement("button");
|
|
13505
|
+
t.type = "button", t.dataset.mesurerUnifiedSelectOption = e.key, t.setAttribute("role", "option"), t.setAttribute("aria-selected", e.selected ? "true" : "false"), t.disabled = e.disabled, Object.assign(t.style, {
|
|
13496
13506
|
width: "100%",
|
|
13497
13507
|
minHeight: "30px",
|
|
13498
13508
|
display: "flex",
|
|
@@ -13502,8 +13512,8 @@ function jh(e, t) {
|
|
|
13502
13512
|
boxSizing: "border-box",
|
|
13503
13513
|
border: "0",
|
|
13504
13514
|
borderRadius: "5px",
|
|
13505
|
-
background: e.selected ?
|
|
13506
|
-
color: e.disabled ?
|
|
13515
|
+
background: e.selected ? Eh : "transparent",
|
|
13516
|
+
color: e.disabled ? Oh : Ah,
|
|
13507
13517
|
padding: "0 9px",
|
|
13508
13518
|
textAlign: "left",
|
|
13509
13519
|
font: `${e.selected ? "600" : "500"} 11px/1.2 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,
|
|
@@ -13511,39 +13521,39 @@ function jh(e, t) {
|
|
|
13511
13521
|
opacity: e.disabled ? "0.55" : "1",
|
|
13512
13522
|
pointerEvents: "auto"
|
|
13513
13523
|
});
|
|
13514
|
-
let
|
|
13515
|
-
if (
|
|
13524
|
+
let r = n.createElement("span");
|
|
13525
|
+
if (r.textContent = e.label, Object.assign(r.style, {
|
|
13516
13526
|
minWidth: "0",
|
|
13517
13527
|
overflow: "hidden",
|
|
13518
13528
|
textOverflow: "ellipsis",
|
|
13519
13529
|
whiteSpace: "nowrap"
|
|
13520
|
-
}),
|
|
13521
|
-
let
|
|
13522
|
-
|
|
13530
|
+
}), t.append(r), e.shortcut) {
|
|
13531
|
+
let r = n.createElement("span");
|
|
13532
|
+
r.textContent = e.shortcut, Object.assign(r.style, {
|
|
13523
13533
|
flex: "0 0 auto",
|
|
13524
|
-
color:
|
|
13534
|
+
color: Oh,
|
|
13525
13535
|
font: "500 10px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif",
|
|
13526
13536
|
whiteSpace: "nowrap"
|
|
13527
|
-
}),
|
|
13537
|
+
}), t.append(r);
|
|
13528
13538
|
}
|
|
13529
|
-
return
|
|
13530
|
-
e.disabled || (
|
|
13531
|
-
}),
|
|
13532
|
-
|
|
13533
|
-
}),
|
|
13539
|
+
return t.addEventListener("mouseenter", () => {
|
|
13540
|
+
e.disabled || (t.style.background = e.selected ? Eh : Th);
|
|
13541
|
+
}), t.addEventListener("mouseleave", () => {
|
|
13542
|
+
t.style.background = e.selected ? Eh : "transparent";
|
|
13543
|
+
}), t.addEventListener("click", () => {
|
|
13534
13544
|
e.disabled || (e.activate(), d());
|
|
13535
|
-
}),
|
|
13545
|
+
}), t.addEventListener("keydown", (e) => {
|
|
13536
13546
|
if (e.key === "Escape") {
|
|
13537
13547
|
e.preventDefault(), d(!0);
|
|
13538
13548
|
return;
|
|
13539
13549
|
}
|
|
13540
13550
|
if (e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
|
|
13541
13551
|
e.preventDefault();
|
|
13542
|
-
let
|
|
13543
|
-
if (!
|
|
13544
|
-
let
|
|
13545
|
-
i < 0 ||
|
|
13546
|
-
}),
|
|
13552
|
+
let n = t.closest("[data-mesurer-unified-select-popup='true']");
|
|
13553
|
+
if (!n) return;
|
|
13554
|
+
let r = Array.from(n.querySelectorAll("[data-mesurer-unified-select-option]")).filter((e) => !e.disabled), i = r.indexOf(t);
|
|
13555
|
+
i < 0 || r.length === 0 || r[(i + (e.key === "ArrowDown" ? 1 : -1) + r.length) % r.length]?.focus({ preventScroll: !0 });
|
|
13556
|
+
}), t;
|
|
13547
13557
|
}, m = (e, t, r) => {
|
|
13548
13558
|
if (u?.trigger === e) {
|
|
13549
13559
|
d(!0);
|
|
@@ -13559,17 +13569,17 @@ function jh(e, t) {
|
|
|
13559
13569
|
maxHeight: "220px",
|
|
13560
13570
|
overflowY: "auto",
|
|
13561
13571
|
boxSizing: "border-box",
|
|
13562
|
-
border: `1px solid ${
|
|
13572
|
+
border: `1px solid ${Dh}`,
|
|
13563
13573
|
borderRadius: "8px",
|
|
13564
13574
|
background: "#ffffff",
|
|
13565
13575
|
padding: "4px",
|
|
13566
13576
|
boxShadow: "0 8px 24px rgba(15, 23, 42, 0.14), 0 2px 6px rgba(15, 23, 42, 0.08)",
|
|
13567
13577
|
pointerEvents: "auto"
|
|
13568
13578
|
});
|
|
13569
|
-
for (let
|
|
13579
|
+
for (let e of r) i.append(p(e));
|
|
13570
13580
|
s.append(i), e.setAttribute("aria-expanded", "true"), t?.style.setProperty("transform", "rotate(225deg)");
|
|
13571
13581
|
let a = e.closest("[data-mesurer-unified-select-shell='true'], [data-mesurer-unified-style-shell='true']");
|
|
13572
|
-
a && (a.style.borderColor = "transparent", a.style.boxShadow = `inset 0 0 0 1px ${
|
|
13582
|
+
a && (a.style.borderColor = "transparent", a.style.boxShadow = `inset 0 0 0 1px ${jh}`), u = {
|
|
13573
13583
|
popup: i,
|
|
13574
13584
|
trigger: e,
|
|
13575
13585
|
chevron: t
|
|
@@ -13585,14 +13595,14 @@ function jh(e, t) {
|
|
|
13585
13595
|
border: "0",
|
|
13586
13596
|
borderRadius: "5px",
|
|
13587
13597
|
background: "transparent",
|
|
13588
|
-
color:
|
|
13598
|
+
color: kh,
|
|
13589
13599
|
padding: "0 28px 0 8px",
|
|
13590
13600
|
textAlign: "left",
|
|
13591
13601
|
font: "500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif",
|
|
13592
13602
|
cursor: "pointer",
|
|
13593
13603
|
outline: "none"
|
|
13594
13604
|
}), e.addEventListener("focus", () => {
|
|
13595
|
-
t.style.borderColor = "transparent", t.style.boxShadow = `inset 0 0 0 1px ${
|
|
13605
|
+
t.style.borderColor = "transparent", t.style.boxShadow = `inset 0 0 0 1px ${jh}`;
|
|
13596
13606
|
}), e.addEventListener("blur", () => {
|
|
13597
13607
|
u?.trigger !== e && (t.style.boxShadow = "none");
|
|
13598
13608
|
});
|
|
@@ -13658,12 +13668,12 @@ function jh(e, t) {
|
|
|
13658
13668
|
boxSizing: "border-box",
|
|
13659
13669
|
border: "1px solid transparent",
|
|
13660
13670
|
borderRadius: "5px",
|
|
13661
|
-
background:
|
|
13671
|
+
background: Th,
|
|
13662
13672
|
transition: "border-color 120ms ease, box-shadow 120ms ease, background 120ms ease"
|
|
13663
13673
|
});
|
|
13664
13674
|
let a = n.createElement("button");
|
|
13665
13675
|
a.type = "button", a.dataset.mesurerUnifiedSelectTrigger = "style", a.dataset.mesurerTextStyleMenuButton = "true", a.setAttribute("aria-haspopup", "listbox"), a.setAttribute("aria-expanded", "false"), a.setAttribute("aria-label", "Text style"), h(a, i), i.addEventListener("mouseenter", () => {
|
|
13666
|
-
i.style.borderColor =
|
|
13676
|
+
i.style.borderColor = Dh;
|
|
13667
13677
|
}), i.addEventListener("mouseleave", () => {
|
|
13668
13678
|
u?.trigger !== a && n.activeElement !== a && (i.style.borderColor = "transparent");
|
|
13669
13679
|
});
|
|
@@ -13675,8 +13685,8 @@ function jh(e, t) {
|
|
|
13675
13685
|
top: "8px",
|
|
13676
13686
|
width: "7px",
|
|
13677
13687
|
height: "7px",
|
|
13678
|
-
borderRight: `1.5px solid ${
|
|
13679
|
-
borderBottom: `1.5px solid ${
|
|
13688
|
+
borderRight: `1.5px solid ${Oh}`,
|
|
13689
|
+
borderBottom: `1.5px solid ${Oh}`,
|
|
13680
13690
|
transform: "rotate(45deg)",
|
|
13681
13691
|
transformOrigin: "center",
|
|
13682
13692
|
pointerEvents: "none"
|
|
@@ -13737,22 +13747,22 @@ function jh(e, t) {
|
|
|
13737
13747
|
c = !0, x.disconnect(), d(), r.removeEventListener("pointerdown", y, !0), r.removeEventListener("resize", b);
|
|
13738
13748
|
});
|
|
13739
13749
|
}
|
|
13740
|
-
function
|
|
13750
|
+
function Fh(e, t) {
|
|
13741
13751
|
op(e, t);
|
|
13742
13752
|
let { runtime: n } = tp(t);
|
|
13743
|
-
|
|
13753
|
+
Pm(e, n), Ch(e, n), Hp(e, ah(e, n)), Dm(e, n), _h(e, n), Vm(e, n, t.portalTarget), qp(e, n, t), Fm(e, n), Ph(e, n), wh(e, n), $f(e, n), lp(e, n), ym(e, n, t.portalTarget), rh(e, n, t.portalTarget);
|
|
13744
13754
|
}
|
|
13745
|
-
var
|
|
13755
|
+
var Ih = 1, Lh = (e, t) => {
|
|
13746
13756
|
if (!t) return [];
|
|
13747
13757
|
try {
|
|
13748
13758
|
let n = e.sessionStorage.getItem(t);
|
|
13749
13759
|
if (!n) return [];
|
|
13750
13760
|
let r = JSON.parse(n);
|
|
13751
|
-
return r.version !==
|
|
13761
|
+
return r.version !== Ih || !Array.isArray(r.annotations) ? [] : r.annotations.map(Rh);
|
|
13752
13762
|
} catch {
|
|
13753
13763
|
return [];
|
|
13754
13764
|
}
|
|
13755
|
-
},
|
|
13765
|
+
}, Rh = (e) => ({
|
|
13756
13766
|
...e,
|
|
13757
13767
|
anchor: e.anchor.kind === "elements" ? {
|
|
13758
13768
|
kind: "elements",
|
|
@@ -13787,7 +13797,7 @@ var Nh = 1, Ph = (e, t) => {
|
|
|
13787
13797
|
vertical: e.vertical ? { ...e.vertical } : null
|
|
13788
13798
|
}))
|
|
13789
13799
|
}
|
|
13790
|
-
}),
|
|
13800
|
+
}), zh = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Bh = (e) => {
|
|
13791
13801
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
13792
13802
|
for (let r of e.current.selectedMeasurements) {
|
|
13793
13803
|
let e = r.elementRef;
|
|
@@ -13796,8 +13806,8 @@ var Nh = 1, Ph = (e, t) => {
|
|
|
13796
13806
|
let r = e.current.selectedMeasurement?.elementRef;
|
|
13797
13807
|
return r?.isConnected && !t.has(r) && n.push(r), n;
|
|
13798
13808
|
};
|
|
13799
|
-
function
|
|
13800
|
-
let { model: t, ownerDocument: n, ownerWindow: r, uiRoot: i } = e, a = r, o = e.pageTarget ?? n.body ?? n.documentElement, s = o instanceof a.ShadowRoot ? o : o.getRootNode(), c = s instanceof a.ShadowRoot ? s : n, l = o, u =
|
|
13809
|
+
function Vh(e) {
|
|
13810
|
+
let { model: t, ownerDocument: n, ownerWindow: r, uiRoot: i } = e, a = r, o = e.pageTarget ?? n.body ?? n.documentElement, s = o instanceof a.ShadowRoot ? o : o.getRootNode(), c = s instanceof a.ShadowRoot ? s : n, l = o, u = Lh(r, e.persistenceKey), d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = !1, g = 0, _ = null, v = !1, y = (e, t) => `${e}:${t}`, b = (e) => Tl(e, o), x = (e) => {
|
|
13801
13811
|
let t = [];
|
|
13802
13812
|
o instanceof a.HTMLElement && o.matches(e) && t.push(o);
|
|
13803
13813
|
for (let n of c.querySelectorAll(e)) n instanceof a.HTMLElement && b(n) && t.push(n);
|
|
@@ -13810,8 +13820,8 @@ function Rh(e) {
|
|
|
13810
13820
|
return;
|
|
13811
13821
|
}
|
|
13812
13822
|
r.sessionStorage.setItem(t, JSON.stringify({
|
|
13813
|
-
version:
|
|
13814
|
-
annotations: u.map(
|
|
13823
|
+
version: Ih,
|
|
13824
|
+
annotations: u.map(Rh)
|
|
13815
13825
|
}));
|
|
13816
13826
|
} catch {}
|
|
13817
13827
|
}, C = () => {
|
|
@@ -13910,12 +13920,12 @@ function Rh(e) {
|
|
|
13910
13920
|
}, F = (e, t = []) => (u.push(e), e.anchor.kind === "elements" && e.anchor.targets.forEach((n, r) => {
|
|
13911
13921
|
let i = t[r], a = y(e.id, n.id);
|
|
13912
13922
|
i && b(i) && p.set(a, i), m.set(a, !!(i && b(i)));
|
|
13913
|
-
}), O(), S(), C(),
|
|
13923
|
+
}), O(), S(), C(), Rh(e)), I = (e, t) => {
|
|
13914
13924
|
let n = e.trim();
|
|
13915
13925
|
if (!n) throw Error("Annotation note cannot be empty.");
|
|
13916
13926
|
let i = Yi(t);
|
|
13917
13927
|
return F({
|
|
13918
|
-
id:
|
|
13928
|
+
id: zh(r, "annotation"),
|
|
13919
13929
|
note: n,
|
|
13920
13930
|
createdAt: Date.now(),
|
|
13921
13931
|
anchor: {
|
|
@@ -13930,14 +13940,14 @@ function Rh(e) {
|
|
|
13930
13940
|
}, L = (e) => {
|
|
13931
13941
|
let n = e.trim();
|
|
13932
13942
|
if (!n) throw Error("Annotation note cannot be empty.");
|
|
13933
|
-
let i =
|
|
13943
|
+
let i = Bh(t).filter(b), a = t.current.selectionOriginRect ? Yi(t.current.selectionOriginRect) : null;
|
|
13934
13944
|
if (!i.length) {
|
|
13935
13945
|
if (!a) throw Error("Select a page element or drag a region before adding an annotation.");
|
|
13936
13946
|
return I(n, a);
|
|
13937
13947
|
}
|
|
13938
13948
|
let o = i.map(N);
|
|
13939
13949
|
return F({
|
|
13940
|
-
id:
|
|
13950
|
+
id: zh(r, "annotation"),
|
|
13941
13951
|
note: n,
|
|
13942
13952
|
createdAt: Date.now(),
|
|
13943
13953
|
anchor: {
|
|
@@ -13967,12 +13977,12 @@ function Rh(e) {
|
|
|
13967
13977
|
activeMeasurement: t.current.activeMeasurement,
|
|
13968
13978
|
heldDistances: [...t.current.heldDistances],
|
|
13969
13979
|
guides: t.current.guides.map((e) => ({ ...e })),
|
|
13970
|
-
annotations: u.map(
|
|
13980
|
+
annotations: u.map(Rh)
|
|
13971
13981
|
};
|
|
13972
13982
|
},
|
|
13973
13983
|
currentSelection() {
|
|
13974
13984
|
return {
|
|
13975
|
-
elements:
|
|
13985
|
+
elements: Bh(t).filter(b),
|
|
13976
13986
|
region: t.current.selectionOriginRect ? Yi(t.current.selectionOriginRect) : null
|
|
13977
13987
|
};
|
|
13978
13988
|
},
|
|
@@ -13984,12 +13994,12 @@ function Rh(e) {
|
|
|
13984
13994
|
return t.current.hoverElement?.isConnected && b(t.current.hoverElement) ? t.current.hoverElement : null;
|
|
13985
13995
|
},
|
|
13986
13996
|
annotations() {
|
|
13987
|
-
return u.map(
|
|
13997
|
+
return u.map(Rh);
|
|
13988
13998
|
},
|
|
13989
13999
|
annotation(e) {
|
|
13990
14000
|
let t = u.find((t) => t.id === e);
|
|
13991
14001
|
if (!t) return null;
|
|
13992
|
-
let n =
|
|
14002
|
+
let n = Rh(t), r = [];
|
|
13993
14003
|
if (n.anchor.kind === "elements" && t.anchor.kind === "elements") {
|
|
13994
14004
|
let e = t.anchor.targets;
|
|
13995
14005
|
r = n.anchor.targets.map((n, r) => ({
|
|
@@ -14055,7 +14065,7 @@ function Rh(e) {
|
|
|
14055
14065
|
}
|
|
14056
14066
|
};
|
|
14057
14067
|
}
|
|
14058
|
-
var
|
|
14068
|
+
var Hh = [
|
|
14059
14069
|
"select",
|
|
14060
14070
|
"xray",
|
|
14061
14071
|
"color-picker",
|
|
@@ -14063,22 +14073,22 @@ var zh = [
|
|
|
14063
14073
|
"text-inspector",
|
|
14064
14074
|
"guides",
|
|
14065
14075
|
"settings"
|
|
14066
|
-
],
|
|
14076
|
+
], Uh = "mesurer-plugin-settings", Wh = 1, Gh = (e) => (e.startsWith("mesurer.") ? e.slice(8) : e).split(/[.-]/g).filter(Boolean).map((e) => e[0]?.toUpperCase() + e.slice(1)).join(" ") || e, Kh = (e) => "create" in e && typeof e.create == "function", qh = (e) => e === "select" || e === "xray" || e === "color-picker" || e === "rulers" || e === "text-inspector" || e === "guides" || e === "distance" || e === "settings", Jh = (e) => `builtin.${e}`, Yh = (e, t) => {
|
|
14067
14077
|
let n = t.toLowerCase().replaceAll("cmd", "meta").split("+").map((e) => e.trim()).filter(Boolean);
|
|
14068
14078
|
if (!n.length) return !1;
|
|
14069
14079
|
let r = n.at(-1), i = new Set(n.slice(0, -1)), a = i.has("mod"), o = i.has("meta"), s = i.has("ctrl") || i.has("control"), c = i.has("shift"), l = i.has("alt") || i.has("option");
|
|
14070
14080
|
return (a ? !(e.metaKey || e.ctrlKey) : o !== e.metaKey || s !== e.ctrlKey) || c !== e.shiftKey || l !== e.altKey || !a && !o && !s && (e.metaKey || e.ctrlKey) ? !1 : e.key.toLowerCase() === r;
|
|
14071
14081
|
};
|
|
14072
|
-
function
|
|
14082
|
+
function Xh(e) {
|
|
14073
14083
|
let t = bt(() => e.pluginHost), n = t ?? ha(), r = !t, i = bt(() => e.version ?? "0.1.0"), a = (t) => e.version && t.id.startsWith("mesurer.") ? {
|
|
14074
14084
|
...t,
|
|
14075
14085
|
version: i
|
|
14076
14086
|
} : t, o = new Set(bt(() => e.excludePlugins ?? [])), s = bt(() => Nf([], e.excludePlugins ?? []).map(a)), c = /* @__PURE__ */ new Map();
|
|
14077
14087
|
for (let [t, n] of bt(() => [...e.plugins ?? []]).entries()) {
|
|
14078
|
-
if (
|
|
14088
|
+
if (Kh(n)) {
|
|
14079
14089
|
c.set(n.id, {
|
|
14080
14090
|
...n,
|
|
14081
|
-
label: n.label ??
|
|
14091
|
+
label: n.label ?? Gh(n.id),
|
|
14082
14092
|
order: n.order ?? 1e3 + t
|
|
14083
14093
|
});
|
|
14084
14094
|
continue;
|
|
@@ -14086,7 +14096,7 @@ function qh(e) {
|
|
|
14086
14096
|
let e = a(n);
|
|
14087
14097
|
c.set(e.id, {
|
|
14088
14098
|
id: e.id,
|
|
14089
|
-
label:
|
|
14099
|
+
label: Gh(e.id),
|
|
14090
14100
|
order: 1e3 + t,
|
|
14091
14101
|
enabled: !0,
|
|
14092
14102
|
create: () => e
|
|
@@ -14094,7 +14104,7 @@ function qh(e) {
|
|
|
14094
14104
|
}
|
|
14095
14105
|
let l = /* @__PURE__ */ new Set();
|
|
14096
14106
|
for (let e of c.values()) e.enabled !== !1 && l.add(e.id);
|
|
14097
|
-
let u = new Map([...c.values()].map((e) => [e.id, new Set(e.settingsIds ?? [])])), d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Set(), m = /* @__PURE__ */ new Map(), h = null, g = null, _ = () => void 0, v = async () => void 0, [y, b] = K(0), [x, S] = K(!1), C = (e) => (y(), n.tools().find((t) => (t.builtin === e || t.id === e) && t.command !==
|
|
14107
|
+
let u = new Map([...c.values()].map((e) => [e.id, new Set(e.settingsIds ?? [])])), d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Set(), m = /* @__PURE__ */ new Map(), h = null, g = null, _ = () => void 0, v = async () => void 0, [y, b] = K(0), [x, S] = K(!1), C = (e) => (y(), n.tools().find((t) => (t.builtin === e || t.id === e) && t.command !== Jh(e))), w = (e) => (y(), x() ? e === "distance" ? n.overlays().some((t) => t.builtin === e || t.id === e) : n.tools().some((t) => t.builtin === e || t.id === e) : !o.has(e)), T = () => (y(), n.state.get("mesurer.arrange.active") ?? !1), E = (e) => T() && (e === "color-picker" || e === "text-inspector" || e === "guides"), D = G(() => (y(), n.tools().filter((e) => e.hidden?.() ? !1 : !e.builtin || !qh(e.builtin) || e.command !== Jh(e.builtin)))), O = G(() => {
|
|
14098
14108
|
y();
|
|
14099
14109
|
let e = n.settings();
|
|
14100
14110
|
return [...c.values()].sort((e, t) => (e.order ?? 0) - (t.order ?? 0)).map((t) => {
|
|
@@ -14104,7 +14114,7 @@ function qh(e) {
|
|
|
14104
14114
|
})).filter((e) => (e.controls?.length ?? 0) > 0);
|
|
14105
14115
|
return {
|
|
14106
14116
|
id: t.id,
|
|
14107
|
-
label: t.label ??
|
|
14117
|
+
label: t.label ?? Gh(t.id),
|
|
14108
14118
|
enabled: n.has(t.id),
|
|
14109
14119
|
busy: p.has(t.id),
|
|
14110
14120
|
sections: a
|
|
@@ -14113,7 +14123,7 @@ function qh(e) {
|
|
|
14113
14123
|
}), k = G(() => (y(), n.settings().filter((e) => e.id === Ad))), A = () => {
|
|
14114
14124
|
y();
|
|
14115
14125
|
let e = [];
|
|
14116
|
-
for (let t of
|
|
14126
|
+
for (let t of Hh) (!w(t) || C(t)) && e.push(`[data-mesurer-builtin='${t}']{display:none!important}`);
|
|
14117
14127
|
return (!w("guides") || C("guides")) && e.push("[data-mesurer-builtin='guides-menu']{display:none!important}"), w("guides") || e.push("[data-mesurer-guide='true']{display:none!important}"), w("distance") || e.push("[data-mesurer-distance='true']{display:none!important}"), w("rulers") || e.push("[data-mesurer-rulers='true']{display:none!important}"), w("color-picker") || e.push(".mesurer-color-picker{display:none!important}"), e.join("\n");
|
|
14118
14128
|
}, j = async (t, r = "toolbar") => {
|
|
14119
14129
|
if (!t.disabled?.()) try {
|
|
@@ -14169,21 +14179,21 @@ function qh(e) {
|
|
|
14169
14179
|
t || (t = !0, e.remove());
|
|
14170
14180
|
}
|
|
14171
14181
|
};
|
|
14172
|
-
}, ee = (e) =>
|
|
14182
|
+
}, ee = (e) => Vh({
|
|
14173
14183
|
model: z(),
|
|
14174
14184
|
ownerDocument: F,
|
|
14175
14185
|
ownerWindow: L,
|
|
14176
14186
|
uiRoot: P,
|
|
14177
14187
|
pageTarget: R,
|
|
14178
|
-
persistenceKey: e ? `${N.persistKey ??
|
|
14188
|
+
persistenceKey: e ? `${N.persistKey ?? Uh}:${e}:${L.location.origin}${L.location.pathname}` : void 0
|
|
14179
14189
|
}), U = F.createElement("style");
|
|
14180
14190
|
U.dataset.mesurerPluginVisibility = "true", U.dataset.mesurerInspectorUi = "true", U.textContent = A(), P.append(U);
|
|
14181
|
-
let te = N.persistKey ? `${N.persistKey}:plugins` :
|
|
14191
|
+
let te = N.persistKey ? `${N.persistKey}:plugins` : Uh, ne = `${te}:availability`, re = /* @__PURE__ */ new Map();
|
|
14182
14192
|
try {
|
|
14183
14193
|
let e = L.localStorage.getItem(ne);
|
|
14184
14194
|
if (e) {
|
|
14185
14195
|
let t = JSON.parse(e);
|
|
14186
|
-
if (t?.version ===
|
|
14196
|
+
if (t?.version === Wh) {
|
|
14187
14197
|
for (let [e, n] of Object.entries(t.enabled ?? {})) re.set(e, n);
|
|
14188
14198
|
for (let [e, n] of Object.entries(t.state ?? {})) f.set(e, n);
|
|
14189
14199
|
}
|
|
@@ -14195,7 +14205,7 @@ function qh(e) {
|
|
|
14195
14205
|
let e = Object.fromEntries([...c.keys()].map((e) => [e, k.has(e)])), t = Object.fromEntries(f);
|
|
14196
14206
|
try {
|
|
14197
14207
|
L.localStorage.setItem(ne, JSON.stringify({
|
|
14198
|
-
version:
|
|
14208
|
+
version: Wh,
|
|
14199
14209
|
enabled: e,
|
|
14200
14210
|
state: t
|
|
14201
14211
|
}));
|
|
@@ -14218,7 +14228,7 @@ function qh(e) {
|
|
|
14218
14228
|
let le = k.subscribe((e) => {
|
|
14219
14229
|
if (b((e) => e + 1), U.textContent = A(), (e.reason === "state" || e.reason === "history" || e.reason === "remove" || e.reason === "replace") && oe(), x() && !y && (e.reason === "load" || e.reason === "remove" || e.reason === "replace") && ie(), e.reason === "remove" && e.pluginId?.startsWith("mesurer.")) {
|
|
14220
14230
|
let t = e.pluginId.slice(8);
|
|
14221
|
-
|
|
14231
|
+
qh(t) && V().deactivate(t);
|
|
14222
14232
|
}
|
|
14223
14233
|
});
|
|
14224
14234
|
N.onPluginHost?.(k);
|
|
@@ -14318,8 +14328,8 @@ function qh(e) {
|
|
|
14318
14328
|
createWorkspaceRuntime: ee,
|
|
14319
14329
|
createInspectorMount: H
|
|
14320
14330
|
};
|
|
14321
|
-
e.service.provide("runtime:solid", t), Pd(e), If(e, t),
|
|
14322
|
-
for (let t of
|
|
14331
|
+
e.service.provide("runtime:solid", t), Pd(e), If(e, t), Fh(e, t);
|
|
14332
|
+
for (let t of Hh) e.command.register(Jh(t), () => _e(t));
|
|
14323
14333
|
}
|
|
14324
14334
|
}), t)) {
|
|
14325
14335
|
for (let e of [...c.values()].sort((e, t) => (e.order ?? 0) - (t.order ?? 0))) {
|
|
@@ -14371,7 +14381,7 @@ function qh(e) {
|
|
|
14371
14381
|
e.preventDefault(), e.stopImmediatePropagation();
|
|
14372
14382
|
return;
|
|
14373
14383
|
}
|
|
14374
|
-
let i = D().find((t) => t.shortcut && !t.disabled?.() &&
|
|
14384
|
+
let i = D().find((t) => t.shortcut && !t.disabled?.() && Yh(e, t.shortcut));
|
|
14375
14385
|
if (i) {
|
|
14376
14386
|
e.preventDefault(), e.stopImmediatePropagation(), M(i);
|
|
14377
14387
|
return;
|
|
@@ -14421,7 +14431,7 @@ function qh(e) {
|
|
|
14421
14431
|
}
|
|
14422
14432
|
});
|
|
14423
14433
|
}
|
|
14424
|
-
var
|
|
14434
|
+
var Zh = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Qh = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), $h = (e, t, n, r, i) => {
|
|
14425
14435
|
let a = e.left + e.width, o = e.top + e.height, s = [
|
|
14426
14436
|
{
|
|
14427
14437
|
axis: "vertical",
|
|
@@ -14469,7 +14479,7 @@ var Jh = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Yh = (e, t, n =
|
|
|
14469
14479
|
}
|
|
14470
14480
|
];
|
|
14471
14481
|
return i ? s.sort((e, t) => t.space - e.space) : s;
|
|
14472
|
-
},
|
|
14482
|
+
}, eg = (e, t, n) => {
|
|
14473
14483
|
let r = [];
|
|
14474
14484
|
for (let i = 0; i <= n; i += 1) {
|
|
14475
14485
|
let n = i * t;
|
|
@@ -14495,14 +14505,14 @@ var Jh = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Yh = (e, t, n =
|
|
|
14495
14505
|
}
|
|
14496
14506
|
return r;
|
|
14497
14507
|
};
|
|
14498
|
-
function
|
|
14508
|
+
function tg(e, t, n = {}) {
|
|
14499
14509
|
let r = n.markerSize ?? 24, i = n.markerGap ?? 4, a = n.targetGap ?? 6, o = n.targetClearance ?? 2, s = n.viewportPadding ?? 4, c = n.obstacles ?? [], l = Math.max(0, n.maxShiftRings ?? 2), u = n.viewportAware ?? !1, d = r + i, f = Math.max(s, t.width - r - s), p = Math.max(s, t.height - r - s), m = [], h = e.map((e) => e.rect), g = [];
|
|
14500
14510
|
for (let n of e) {
|
|
14501
|
-
let e = /* @__PURE__ */ new Set(), _ = [], v =
|
|
14502
|
-
for (let t of
|
|
14511
|
+
let e = /* @__PURE__ */ new Set(), _ = [], v = $h(n.rect, t, r, a, u);
|
|
14512
|
+
for (let t of eg(v, d, l)) {
|
|
14503
14513
|
let n = u ? {
|
|
14504
|
-
left:
|
|
14505
|
-
top:
|
|
14514
|
+
left: Zh(t.left, s, f),
|
|
14515
|
+
top: Zh(t.top, s, p)
|
|
14506
14516
|
} : t, r = `${n.left}:${n.top}`;
|
|
14507
14517
|
e.has(r) || (e.add(r), _.push(n));
|
|
14508
14518
|
}
|
|
@@ -14512,21 +14522,21 @@ function Qh(e, t, n = {}) {
|
|
|
14512
14522
|
width: r,
|
|
14513
14523
|
height: r
|
|
14514
14524
|
};
|
|
14515
|
-
return h.every((e) => !
|
|
14525
|
+
return h.every((e) => !Qh(t, e, o)) && c.every((e) => !Qh(t, e, i));
|
|
14516
14526
|
}), b = y.find((e) => {
|
|
14517
14527
|
let t = {
|
|
14518
14528
|
...e,
|
|
14519
14529
|
width: r,
|
|
14520
14530
|
height: r
|
|
14521
14531
|
};
|
|
14522
|
-
return m.every((e) => !
|
|
14532
|
+
return m.every((e) => !Qh(t, e, i));
|
|
14523
14533
|
}) ?? y.find((e) => {
|
|
14524
14534
|
let t = {
|
|
14525
14535
|
...e,
|
|
14526
14536
|
width: r,
|
|
14527
14537
|
height: r
|
|
14528
14538
|
};
|
|
14529
|
-
return m.every((e) => !
|
|
14539
|
+
return m.every((e) => !Qh(t, e));
|
|
14530
14540
|
}) ?? y[0] ?? _[0] ?? {
|
|
14531
14541
|
left: s,
|
|
14532
14542
|
top: s
|
|
@@ -14542,17 +14552,17 @@ function Qh(e, t, n = {}) {
|
|
|
14542
14552
|
}
|
|
14543
14553
|
return g;
|
|
14544
14554
|
}
|
|
14545
|
-
var
|
|
14546
|
-
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i =
|
|
14555
|
+
var ng = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), rg = 0, ig = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), ag = (e, t) => {
|
|
14556
|
+
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = ig(n);
|
|
14547
14557
|
i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
|
|
14548
14558
|
let a = !1;
|
|
14549
14559
|
return () => {
|
|
14550
14560
|
if (a) return;
|
|
14551
14561
|
a = !0;
|
|
14552
|
-
let i =
|
|
14562
|
+
let i = ig(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
|
|
14553
14563
|
i.length ? e.style.setProperty("anchor-name", i.join(", "), e.style.getPropertyPriority("anchor-name")) : n.trim() === "none" ? e.style.setProperty("anchor-name", n, r) : e.style.removeProperty("anchor-name");
|
|
14554
14564
|
};
|
|
14555
|
-
},
|
|
14565
|
+
}, og = (e) => {
|
|
14556
14566
|
if (!e.length) return null;
|
|
14557
14567
|
let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
|
|
14558
14568
|
return {
|
|
@@ -14561,14 +14571,14 @@ var $h = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), eg = 0, tg = (e)
|
|
|
14561
14571
|
width: r - t,
|
|
14562
14572
|
height: i - n
|
|
14563
14573
|
};
|
|
14564
|
-
},
|
|
14574
|
+
}, sg = (e, t, n, r, i = 8) => {
|
|
14565
14575
|
let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
|
|
14566
14576
|
return {
|
|
14567
|
-
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c :
|
|
14568
|
-
top:
|
|
14577
|
+
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : ng(e.left + e.width - t, 8, a),
|
|
14578
|
+
top: ng(e.top, 8, o)
|
|
14569
14579
|
};
|
|
14570
|
-
},
|
|
14571
|
-
let a = r.innerWidth - t - 8, o =
|
|
14580
|
+
}, cg = (e, t, n, r, i = 8) => {
|
|
14581
|
+
let a = r.innerWidth - t - 8, o = ng(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
|
|
14572
14582
|
if (s + n <= r.innerHeight - 8) return {
|
|
14573
14583
|
left: o,
|
|
14574
14584
|
top: s
|
|
@@ -14577,10 +14587,10 @@ var $h = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), eg = 0, tg = (e)
|
|
|
14577
14587
|
return c >= 8 ? {
|
|
14578
14588
|
left: o,
|
|
14579
14589
|
top: c
|
|
14580
|
-
} :
|
|
14590
|
+
} : sg(e, t, n, r, i);
|
|
14581
14591
|
};
|
|
14582
|
-
function
|
|
14583
|
-
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-${++
|
|
14592
|
+
function lg(e) {
|
|
14593
|
+
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-${++rg}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, N, P, F = null, I = null, L = null, R = null, z = null, B = null, V = /* @__PURE__ */ new Map(), H = () => N?.ownerDocument.defaultView ?? window, ee = () => e.coordinateSpace === "viewport", U = (e) => e ? "native-anchor" : ee() ? "cached-delta" : "document", te = (e) => {
|
|
14584
14594
|
if (ee()) return e;
|
|
14585
14595
|
let t = H();
|
|
14586
14596
|
return {
|
|
@@ -14630,11 +14640,11 @@ function og(e) {
|
|
|
14630
14640
|
let a = t.ownerDocument.defaultView;
|
|
14631
14641
|
if (a) {
|
|
14632
14642
|
if (r) {
|
|
14633
|
-
let n = `--mesurer-annotation-${++
|
|
14643
|
+
let n = `--mesurer-annotation-${++rg}`;
|
|
14634
14644
|
V.set(e, {
|
|
14635
14645
|
target: t,
|
|
14636
14646
|
anchorName: n,
|
|
14637
|
-
releaseAnchor:
|
|
14647
|
+
releaseAnchor: ag(t, n),
|
|
14638
14648
|
scroll: nc(a, t, () => le(e), { trackWindow: !1 })
|
|
14639
14649
|
});
|
|
14640
14650
|
} else V.set(e, {
|
|
@@ -14668,13 +14678,13 @@ function og(e) {
|
|
|
14668
14678
|
R?.sync();
|
|
14669
14679
|
return;
|
|
14670
14680
|
}
|
|
14671
|
-
let i = e === t ? D : `--mesurer-annotation-trigger-${++
|
|
14681
|
+
let i = e === t ? D : `--mesurer-annotation-trigger-${++rg}`;
|
|
14672
14682
|
if (_e(), !e?.isConnected) return;
|
|
14673
14683
|
F = e;
|
|
14674
14684
|
let a = e.ownerDocument.defaultView;
|
|
14675
14685
|
if (a) {
|
|
14676
14686
|
if (n) {
|
|
14677
|
-
L =
|
|
14687
|
+
L = ag(e, i), I = e, D = i, R = nc(a, e, ce, { trackWindow: !1 });
|
|
14678
14688
|
return;
|
|
14679
14689
|
}
|
|
14680
14690
|
D = i, R = nc(a, e, ce, { trackWindow: ee() });
|
|
@@ -14743,7 +14753,7 @@ function og(e) {
|
|
|
14743
14753
|
};
|
|
14744
14754
|
});
|
|
14745
14755
|
return e.region && t.push({ ...e.region }), t;
|
|
14746
|
-
}), Pe = G(() =>
|
|
14756
|
+
}), Pe = G(() => og(Ne())), Fe = () => {
|
|
14747
14757
|
let e = Te().elements.length;
|
|
14748
14758
|
return e > 1 ? `${e} selected elements` : e === 1 ? "Selected element" : "Selected region";
|
|
14749
14759
|
}, Ie = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", Le = G(() => {
|
|
@@ -14765,7 +14775,7 @@ function og(e) {
|
|
|
14765
14775
|
top: e.top,
|
|
14766
14776
|
width: 24,
|
|
14767
14777
|
height: 24
|
|
14768
|
-
})), [a] =
|
|
14778
|
+
})), [a] = tg([{
|
|
14769
14779
|
id: "selection-note-trigger",
|
|
14770
14780
|
rect: n
|
|
14771
14781
|
}], {
|
|
@@ -14774,7 +14784,7 @@ function og(e) {
|
|
|
14774
14784
|
}, {
|
|
14775
14785
|
obstacles: i,
|
|
14776
14786
|
maxShiftRings: 1
|
|
14777
|
-
}), o = a?.left ??
|
|
14787
|
+
}), o = a?.left ?? ng(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? ng(n.top, 4, r.innerHeight - 24 - 4), c = I === e, l = ee() && !c;
|
|
14778
14788
|
return {
|
|
14779
14789
|
left: c || l ? o : o + r.scrollX,
|
|
14780
14790
|
top: c || l ? s : s + r.scrollY,
|
|
@@ -14792,7 +14802,7 @@ function og(e) {
|
|
|
14792
14802
|
rect: n
|
|
14793
14803
|
}] : [];
|
|
14794
14804
|
});
|
|
14795
|
-
return new Map(
|
|
14805
|
+
return new Map(tg(i, {
|
|
14796
14806
|
width: n.innerWidth,
|
|
14797
14807
|
height: n.innerHeight
|
|
14798
14808
|
}, { obstacles: Ne() }).map((e) => [e.id, e]));
|
|
@@ -14816,7 +14826,7 @@ function og(e) {
|
|
|
14816
14826
|
return n && e ? {
|
|
14817
14827
|
left: e.left + n.left,
|
|
14818
14828
|
top: e.top + n.top
|
|
14819
|
-
} : e ?
|
|
14829
|
+
} : e ? cg(e, 272, 168, t) : {
|
|
14820
14830
|
left: 8,
|
|
14821
14831
|
top: 8
|
|
14822
14832
|
};
|
|
@@ -14837,7 +14847,7 @@ function og(e) {
|
|
|
14837
14847
|
};
|
|
14838
14848
|
}, We = (e, t) => {
|
|
14839
14849
|
let n = H(), r = ze(), i = r.get(e);
|
|
14840
|
-
if (!i) return
|
|
14850
|
+
if (!i) return sg(t, 272, 176, n);
|
|
14841
14851
|
let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
|
|
14842
14852
|
left: e.left,
|
|
14843
14853
|
top: e.top,
|
|
@@ -14863,8 +14873,8 @@ function og(e) {
|
|
|
14863
14873
|
}
|
|
14864
14874
|
]) {
|
|
14865
14875
|
let t = {
|
|
14866
|
-
left:
|
|
14867
|
-
top:
|
|
14876
|
+
left: ng(e.left, 8, a),
|
|
14877
|
+
top: ng(e.top, 8, o)
|
|
14868
14878
|
}, n = `${t.left}:${t.top}`;
|
|
14869
14879
|
l.has(n) || (l.add(n), u.push(t));
|
|
14870
14880
|
}
|
|
@@ -14880,7 +14890,7 @@ function og(e) {
|
|
|
14880
14890
|
targetOverlap: c(r, t),
|
|
14881
14891
|
index: n
|
|
14882
14892
|
};
|
|
14883
|
-
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ??
|
|
14893
|
+
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? sg(t, 272, 176, n);
|
|
14884
14894
|
}, Ge = (t) => {
|
|
14885
14895
|
let n = e.runtime.annotationRect(t);
|
|
14886
14896
|
if (!n) return {
|
|
@@ -14928,8 +14938,8 @@ function og(e) {
|
|
|
14928
14938
|
let u = (t) => {
|
|
14929
14939
|
if (!j || t.pointerId !== j.pointerId) return;
|
|
14930
14940
|
let r = j, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
|
|
14931
|
-
left:
|
|
14932
|
-
top:
|
|
14941
|
+
left: ng(r.originLeft + t.clientX - r.startX, 8, i),
|
|
14942
|
+
top: ng(r.originTop + t.clientY - r.startY, 8, a)
|
|
14933
14943
|
};
|
|
14934
14944
|
if (n === "composer") {
|
|
14935
14945
|
let e = Pe();
|
|
@@ -14974,7 +14984,7 @@ function og(e) {
|
|
|
14974
14984
|
k = !1, A = ne(), v(""), b(null), w(null), o(null);
|
|
14975
14985
|
let e = Pe();
|
|
14976
14986
|
if (e) {
|
|
14977
|
-
let t =
|
|
14987
|
+
let t = cg(e, 272, 168, H());
|
|
14978
14988
|
m({
|
|
14979
14989
|
left: t.left - e.left,
|
|
14980
14990
|
top: t.top - e.top
|
|
@@ -15338,11 +15348,11 @@ function og(e) {
|
|
|
15338
15348
|
})
|
|
15339
15349
|
];
|
|
15340
15350
|
}
|
|
15341
|
-
function
|
|
15351
|
+
function ug(e) {
|
|
15342
15352
|
let t = null;
|
|
15343
15353
|
return Lt(xu(e.ownerWindow, () => {
|
|
15344
15354
|
t?.abandonNoteComposer();
|
|
15345
|
-
})), Y(
|
|
15355
|
+
})), Y(lg, {
|
|
15346
15356
|
get runtime() {
|
|
15347
15357
|
return e.runtime;
|
|
15348
15358
|
},
|
|
@@ -15360,8 +15370,8 @@ function sg(e) {
|
|
|
15360
15370
|
}
|
|
15361
15371
|
});
|
|
15362
15372
|
}
|
|
15363
|
-
var
|
|
15364
|
-
function
|
|
15373
|
+
var dg = "2147482950", fg = "2147483646", pg = "2147483647";
|
|
15374
|
+
function mg(e) {
|
|
15365
15375
|
let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
|
|
15366
15376
|
if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
|
|
15367
15377
|
Fu(vd, i);
|
|
@@ -15378,17 +15388,17 @@ function dg(e) {
|
|
|
15378
15388
|
o.dataset.mesurerDocumentInspectorLayerStyle = "true", o.textContent = `
|
|
15379
15389
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
|
|
15380
15390
|
position: absolute !important;
|
|
15381
|
-
z-index: ${
|
|
15391
|
+
z-index: ${dg} !important;
|
|
15382
15392
|
}
|
|
15383
15393
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
|
|
15384
15394
|
position: absolute !important;
|
|
15385
|
-
z-index: ${
|
|
15395
|
+
z-index: ${fg} !important;
|
|
15386
15396
|
}
|
|
15387
15397
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
|
|
15388
15398
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
|
|
15389
15399
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
|
|
15390
15400
|
position: absolute !important;
|
|
15391
|
-
z-index: ${
|
|
15401
|
+
z-index: ${pg} !important;
|
|
15392
15402
|
}
|
|
15393
15403
|
`, t.head.append(o), i.append(a);
|
|
15394
15404
|
let s = !1;
|
|
@@ -15399,7 +15409,7 @@ function dg(e) {
|
|
|
15399
15409
|
}
|
|
15400
15410
|
};
|
|
15401
15411
|
}
|
|
15402
|
-
var
|
|
15412
|
+
var hg = "mesurer:capture-bridge-ping", gg = "mesurer:capture-bridge-request", _g = "mesurer:capture-bridge-response", vg = (e, t, n) => {
|
|
15403
15413
|
let r = Math.max(0, Math.min(e.x, t.x, n.width)), i = Math.max(0, Math.min(e.y, t.y, n.height)), a = Math.max(0, Math.min(Math.max(e.x, t.x), n.width)), o = Math.max(0, Math.min(Math.max(e.y, t.y), n.height));
|
|
15404
15414
|
return {
|
|
15405
15415
|
left: r,
|
|
@@ -15407,7 +15417,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15407
15417
|
width: Math.max(0, a - r),
|
|
15408
15418
|
height: Math.max(0, o - i)
|
|
15409
15419
|
};
|
|
15410
|
-
},
|
|
15420
|
+
}, yg = async (e, t, n, r) => {
|
|
15411
15421
|
let i = await createImageBitmap(e);
|
|
15412
15422
|
try {
|
|
15413
15423
|
let e = i.width / n.width, a = i.height / n.height, o = Math.max(0, Math.round(t.left * e)), s = Math.max(0, Math.round(t.top * a)), c = Math.max(1, Math.min(i.width - o, Math.round(t.width * e))), l = Math.max(1, Math.min(i.height - s, Math.round(t.height * a))), u = r.createElement("canvas");
|
|
@@ -15422,34 +15432,34 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15422
15432
|
} finally {
|
|
15423
15433
|
i.close();
|
|
15424
15434
|
}
|
|
15425
|
-
},
|
|
15435
|
+
}, bg = async (e, t) => {
|
|
15426
15436
|
let n = t.navigator.clipboard, r = globalThis.ClipboardItem;
|
|
15427
15437
|
if (!n?.write || !r) throw Error("PNG clipboard copy is not available");
|
|
15428
15438
|
await n.write([new r({ "image/png": e })]);
|
|
15429
|
-
},
|
|
15439
|
+
}, xg = (e = /* @__PURE__ */ new Date()) => {
|
|
15430
15440
|
let t = (e) => String(e).padStart(2, "0");
|
|
15431
15441
|
return `mesurer-${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}.png`;
|
|
15432
|
-
},
|
|
15442
|
+
}, Sg = (e, t, n, r) => {
|
|
15433
15443
|
let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
|
|
15434
15444
|
a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
|
|
15435
|
-
},
|
|
15445
|
+
}, Cg = (e) => new Promise((t) => {
|
|
15436
15446
|
e.requestAnimationFrame(() => {
|
|
15437
15447
|
e.requestAnimationFrame(() => t());
|
|
15438
15448
|
});
|
|
15439
|
-
}),
|
|
15449
|
+
}), wg = (e) => e.crypto?.randomUUID?.() ?? `mesurer-${Date.now()}-${Math.random().toString(36).slice(2)}`, Tg = (e, t, n = "") => `${e}:${t}:${n}`, Eg = (e, t, n) => {
|
|
15440
15450
|
let r = `${t}:${n}:`;
|
|
15441
15451
|
return e.startsWith(r) ? e.slice(r.length) : null;
|
|
15442
|
-
},
|
|
15443
|
-
let n =
|
|
15444
|
-
o.source === e && o.origin === r &&
|
|
15452
|
+
}, Dg = (e) => new Promise((t) => {
|
|
15453
|
+
let n = wg(e), r = e.location.origin, i = (o) => {
|
|
15454
|
+
o.source === e && o.origin === r && Eg(String(o.data ?? ""), "mesurer:capture-bridge-pong", n) !== null && (e.removeEventListener("message", i), e.clearTimeout(a), t(!0));
|
|
15445
15455
|
}, a = e.setTimeout(() => {
|
|
15446
15456
|
e.removeEventListener("message", i), t(!1);
|
|
15447
15457
|
}, 80);
|
|
15448
|
-
e.addEventListener("message", i), e.postMessage(
|
|
15449
|
-
}),
|
|
15450
|
-
let r =
|
|
15458
|
+
e.addEventListener("message", i), e.postMessage(Tg(hg, n), r);
|
|
15459
|
+
}), Og = (e) => new Promise((t, n) => {
|
|
15460
|
+
let r = wg(e), i = e.location.origin, a = (s) => {
|
|
15451
15461
|
if (s.source !== e || s.origin !== i) return;
|
|
15452
|
-
let c =
|
|
15462
|
+
let c = Eg(String(s.data ?? ""), _g, r);
|
|
15453
15463
|
if (c === null) return;
|
|
15454
15464
|
if (e.removeEventListener("message", a), e.clearTimeout(o), !c.startsWith("ok:")) {
|
|
15455
15465
|
t(null);
|
|
@@ -15464,16 +15474,16 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15464
15474
|
}, o = e.setTimeout(() => {
|
|
15465
15475
|
e.removeEventListener("message", a), t(null);
|
|
15466
15476
|
}, 4e3);
|
|
15467
|
-
e.addEventListener("message", a), e.postMessage(
|
|
15468
|
-
}),
|
|
15469
|
-
let t =
|
|
15477
|
+
e.addEventListener("message", a), e.postMessage(Tg(gg, r), i);
|
|
15478
|
+
}), kg = /* @__PURE__ */ new WeakMap(), Ag = (e) => {
|
|
15479
|
+
let t = kg.get(e), n = t?.stream.getVideoTracks()[0];
|
|
15470
15480
|
if (!t || !n || n.readyState !== "live") {
|
|
15471
|
-
|
|
15481
|
+
kg.delete(e);
|
|
15472
15482
|
return;
|
|
15473
15483
|
}
|
|
15474
15484
|
return t;
|
|
15475
|
-
},
|
|
15476
|
-
let n =
|
|
15485
|
+
}, jg = async (e, t) => {
|
|
15486
|
+
let n = Ag(t);
|
|
15477
15487
|
if (n) return n;
|
|
15478
15488
|
let r = t.navigator.mediaDevices;
|
|
15479
15489
|
if (!r?.getDisplayMedia) throw Error("Screenshot capture is unavailable");
|
|
@@ -15493,17 +15503,17 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15493
15503
|
stream: i,
|
|
15494
15504
|
video: n
|
|
15495
15505
|
};
|
|
15496
|
-
return
|
|
15497
|
-
|
|
15506
|
+
return kg.set(t, r), a.addEventListener("ended", () => {
|
|
15507
|
+
kg.get(t) === r && kg.delete(t);
|
|
15498
15508
|
}, { once: !0 }), r;
|
|
15499
15509
|
} catch (e) {
|
|
15500
15510
|
throw i.getTracks().forEach((e) => e.stop()), e;
|
|
15501
15511
|
}
|
|
15502
|
-
},
|
|
15503
|
-
let t =
|
|
15504
|
-
t && (
|
|
15505
|
-
},
|
|
15506
|
-
let { video: n } = await
|
|
15512
|
+
}, Mg = (e) => {
|
|
15513
|
+
let t = kg.get(e);
|
|
15514
|
+
t && (kg.delete(e), t.video.pause(), t.video.srcObject = null, t.stream.getTracks().forEach((e) => e.stop()));
|
|
15515
|
+
}, Ng = async ({ ownerDocument: e, ownerWindow: t }) => {
|
|
15516
|
+
let { video: n } = await jg(e, t), r = e.createElement("canvas");
|
|
15507
15517
|
r.width = n.videoWidth, r.height = n.videoHeight;
|
|
15508
15518
|
let i = r.getContext("2d");
|
|
15509
15519
|
if (!i) throw Error("Capture failed");
|
|
@@ -15512,25 +15522,25 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15512
15522
|
n ? e(n) : t(/* @__PURE__ */ Error("Capture failed"));
|
|
15513
15523
|
}, "image/png");
|
|
15514
15524
|
});
|
|
15515
|
-
},
|
|
15516
|
-
await
|
|
15517
|
-
},
|
|
15518
|
-
if (await
|
|
15519
|
-
let e = await
|
|
15525
|
+
}, Pg = async (e, t) => {
|
|
15526
|
+
await Dg(t) || await jg(e, t);
|
|
15527
|
+
}, Fg = async ({ ownerDocument: e, ownerWindow: t }) => {
|
|
15528
|
+
if (await Dg(t)) {
|
|
15529
|
+
let e = await Og(t);
|
|
15520
15530
|
if (e) return e;
|
|
15521
15531
|
}
|
|
15522
|
-
return
|
|
15532
|
+
return Ng({
|
|
15523
15533
|
ownerDocument: e,
|
|
15524
15534
|
ownerWindow: t
|
|
15525
15535
|
});
|
|
15526
|
-
},
|
|
15536
|
+
}, Ig = 144, Lg = 96, Rg = 8, zg = 4, Bg = 1800, Vg = (e, t) => {
|
|
15527
15537
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
15528
|
-
},
|
|
15529
|
-
left: Math.min(Math.max(
|
|
15530
|
-
top: Math.min(Math.max(
|
|
15531
|
-
}),
|
|
15538
|
+
}, Hg = (e, t) => ({
|
|
15539
|
+
left: Math.min(Math.max(Rg, e.left), Math.max(Rg, t.innerWidth - Ig - Rg)),
|
|
15540
|
+
top: Math.min(Math.max(Rg, e.top), Math.max(Rg, t.innerHeight - Lg - Rg))
|
|
15541
|
+
}), Ug = (e, t) => {
|
|
15532
15542
|
let n = e.createElement("button");
|
|
15533
|
-
return n.type = "button", n.textContent = t,
|
|
15543
|
+
return n.type = "button", n.textContent = t, Vg(n, {
|
|
15534
15544
|
height: "32px",
|
|
15535
15545
|
padding: "0 12px",
|
|
15536
15546
|
border: "1px solid rgb(255 255 255 / 18%)",
|
|
@@ -15542,11 +15552,11 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15542
15552
|
"font-weight": "500",
|
|
15543
15553
|
cursor: "pointer"
|
|
15544
15554
|
}), n;
|
|
15545
|
-
},
|
|
15555
|
+
}, Wg = ({ copied: e, downloaded: t, copyFailed: n, downloadFailed: r }) => e && t ? "Copied and saved screenshot" : e && r ? "Copied screenshot · Save unavailable" : t && n ? "Saved screenshot · Copy unavailable" : e ? "Copied screenshot" : t ? "Saved screenshot" : n && r ? "Screenshot captured · Copy and save unavailable" : n ? "Screenshot captured · Copy unavailable" : r ? "Screenshot captured · Save unavailable" : "Screenshot captured", Gg = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), Kg = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
|
|
15546
15556
|
let i = n.closest("[data-mesurer-root='true']")?.parentNode ?? n.parentNode;
|
|
15547
|
-
if (!
|
|
15557
|
+
if (!Gg(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
|
|
15548
15558
|
let a = e.createElement("div");
|
|
15549
|
-
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true",
|
|
15559
|
+
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", Vg(a, {
|
|
15550
15560
|
position: "fixed",
|
|
15551
15561
|
left: "0",
|
|
15552
15562
|
top: "0",
|
|
@@ -15558,12 +15568,12 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15558
15568
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
15559
15569
|
}), i.append(a);
|
|
15560
15570
|
let o = e.createElement("div");
|
|
15561
|
-
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0,
|
|
15571
|
+
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, Vg(o, {
|
|
15562
15572
|
position: "fixed",
|
|
15563
15573
|
display: "none",
|
|
15564
15574
|
"z-index": "96",
|
|
15565
|
-
width: `${
|
|
15566
|
-
height: `${
|
|
15575
|
+
width: `${Ig}px`,
|
|
15576
|
+
height: `${Lg}px`,
|
|
15567
15577
|
"box-sizing": "border-box",
|
|
15568
15578
|
overflow: "hidden",
|
|
15569
15579
|
"border-radius": "10px",
|
|
@@ -15576,7 +15586,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15576
15586
|
"touch-action": "none"
|
|
15577
15587
|
});
|
|
15578
15588
|
let s = e.createElement("img");
|
|
15579
|
-
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions",
|
|
15589
|
+
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", Vg(s, {
|
|
15580
15590
|
display: "block",
|
|
15581
15591
|
width: "100%",
|
|
15582
15592
|
height: "100%",
|
|
@@ -15584,7 +15594,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15584
15594
|
"background-color": "white"
|
|
15585
15595
|
}), o.append(s);
|
|
15586
15596
|
let c = e.createElement("button");
|
|
15587
|
-
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss",
|
|
15597
|
+
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", Vg(c, {
|
|
15588
15598
|
position: "absolute",
|
|
15589
15599
|
top: "8px",
|
|
15590
15600
|
right: "8px",
|
|
@@ -15610,7 +15620,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15610
15620
|
let u = e.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
15611
15621
|
u.setAttribute("d", "m4 4 8 8M12 4l-8 8"), u.setAttribute("stroke", "currentColor"), u.setAttribute("stroke-width", "1.75"), u.setAttribute("stroke-linecap", "round"), l.append(u), c.append(l), o.append(c), a.append(o);
|
|
15612
15622
|
let d = e.createElement("div");
|
|
15613
|
-
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"),
|
|
15623
|
+
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), Vg(d, {
|
|
15614
15624
|
position: "fixed",
|
|
15615
15625
|
inset: "0",
|
|
15616
15626
|
display: "none",
|
|
@@ -15624,7 +15634,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15624
15634
|
"pointer-events": "auto"
|
|
15625
15635
|
});
|
|
15626
15636
|
let f = e.createElement("img");
|
|
15627
|
-
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot",
|
|
15637
|
+
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", Vg(f, {
|
|
15628
15638
|
display: "block",
|
|
15629
15639
|
"max-width": "calc(100vw - 96px)",
|
|
15630
15640
|
"max-height": "calc(100vh - 112px)",
|
|
@@ -15635,7 +15645,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15635
15645
|
"box-shadow": "0 8px 30px rgb(0 0 0 / 28%)"
|
|
15636
15646
|
}), d.append(f);
|
|
15637
15647
|
let p = e.createElement("div");
|
|
15638
|
-
p.dataset.mesurerScreenshotViewerControls = "true",
|
|
15648
|
+
p.dataset.mesurerScreenshotViewerControls = "true", Vg(p, {
|
|
15639
15649
|
position: "fixed",
|
|
15640
15650
|
top: "16px",
|
|
15641
15651
|
right: "16px",
|
|
@@ -15643,14 +15653,14 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15643
15653
|
gap: "8px",
|
|
15644
15654
|
"pointer-events": "auto"
|
|
15645
15655
|
});
|
|
15646
|
-
let m =
|
|
15656
|
+
let m = Ug(e, "Copy");
|
|
15647
15657
|
m.dataset.mesurerScreenshotViewerCopy = "true", m.setAttribute("aria-label", "Copy screenshot");
|
|
15648
|
-
let h =
|
|
15658
|
+
let h = Ug(e, "Save");
|
|
15649
15659
|
h.dataset.mesurerScreenshotViewerSave = "true", h.setAttribute("aria-label", "Save screenshot");
|
|
15650
|
-
let g =
|
|
15660
|
+
let g = Ug(e, "Close");
|
|
15651
15661
|
g.dataset.mesurerScreenshotViewerClose = "true", g.setAttribute("aria-label", "Close screenshot viewer"), p.append(m, h, g), d.append(p), a.append(d);
|
|
15652
15662
|
let _ = e.createElement("div");
|
|
15653
|
-
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"),
|
|
15663
|
+
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), Vg(_, {
|
|
15654
15664
|
position: "fixed",
|
|
15655
15665
|
left: "50%",
|
|
15656
15666
|
bottom: "20px",
|
|
@@ -15672,32 +15682,32 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15672
15682
|
}, D = (e, n = !1) => {
|
|
15673
15683
|
E(), _.textContent = e, _.style.backgroundColor = n ? "#b42318" : "rgb(28 28 30 / 90%)", _.style.display = "block", C = t.setTimeout(() => {
|
|
15674
15684
|
C = 0, _.style.display = "none";
|
|
15675
|
-
},
|
|
15685
|
+
}, Bg);
|
|
15676
15686
|
}, O = () => {
|
|
15677
15687
|
d.style.display = "none";
|
|
15678
15688
|
}, k = () => {
|
|
15679
15689
|
y && globalThis.URL.revokeObjectURL(y), y = null, v = null, s.removeAttribute("src"), f.removeAttribute("src");
|
|
15680
15690
|
}, A = () => {
|
|
15681
15691
|
T(), O(), o.style.display = "none", k();
|
|
15682
|
-
}, j = () =>
|
|
15683
|
-
left: t.innerWidth -
|
|
15684
|
-
top: t.innerHeight -
|
|
15692
|
+
}, j = () => Hg({
|
|
15693
|
+
left: t.innerWidth - Ig - Rg,
|
|
15694
|
+
top: t.innerHeight - Lg - Rg
|
|
15685
15695
|
}, t), M = (e) => {
|
|
15686
|
-
let n =
|
|
15696
|
+
let n = Hg(e, t);
|
|
15687
15697
|
b = n, o.style.left = `${n.left}px`, o.style.top = `${n.top}px`;
|
|
15688
15698
|
}, N = () => {
|
|
15689
15699
|
!v || !y || (T(), d.style.display = "flex", g.focus());
|
|
15690
15700
|
}, P = async () => {
|
|
15691
15701
|
let e = v;
|
|
15692
15702
|
if (e) try {
|
|
15693
|
-
await
|
|
15703
|
+
await bg(Promise.resolve(e), t), D("Copied screenshot");
|
|
15694
15704
|
} catch {
|
|
15695
15705
|
D("Could not copy screenshot", !0);
|
|
15696
15706
|
}
|
|
15697
15707
|
}, F = () => {
|
|
15698
15708
|
let n = v;
|
|
15699
15709
|
if (n) try {
|
|
15700
|
-
|
|
15710
|
+
Sg(n, xg(), e, t), D("Saved screenshot");
|
|
15701
15711
|
} catch {
|
|
15702
15712
|
D("Could not save screenshot", !0);
|
|
15703
15713
|
}
|
|
@@ -15717,7 +15727,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15717
15727
|
let n = x;
|
|
15718
15728
|
if (!n) return;
|
|
15719
15729
|
let r = e - n.startX, i = t - n.startY;
|
|
15720
|
-
!n.moved && Math.hypot(r, i) >=
|
|
15730
|
+
!n.moved && Math.hypot(r, i) >= zg && (n.moved = !0), n.moved && M({
|
|
15721
15731
|
left: n.left + r,
|
|
15722
15732
|
top: n.top + i
|
|
15723
15733
|
});
|
|
@@ -15761,25 +15771,25 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15761
15771
|
if (w) return;
|
|
15762
15772
|
T(), O(), k(), v = e;
|
|
15763
15773
|
let i = globalThis.URL.createObjectURL(e);
|
|
15764
|
-
y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(
|
|
15774
|
+
y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(Wg(n)), r > 0 && (S = t.setTimeout(A, r));
|
|
15765
15775
|
},
|
|
15766
15776
|
dismiss: A,
|
|
15767
15777
|
dispose() {
|
|
15768
15778
|
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", V, !0), t.removeEventListener("mouseup", H, !0), t.removeEventListener("pointermove", U, !0), t.removeEventListener("pointerup", te, !0), t.removeEventListener("pointercancel", ne, !0), t.removeEventListener("keydown", oe, !0), o.removeEventListener("mousedown", B), o.removeEventListener("pointerdown", ee), o.removeEventListener("keydown", re), o.removeEventListener("contextmenu", ie), d.removeEventListener("click", ae), a.remove());
|
|
15769
15779
|
}
|
|
15770
15780
|
};
|
|
15771
|
-
},
|
|
15781
|
+
}, qg = "mesurer.screenshot", Jg = "screenshot", Yg = "mesurer.screenshot.settings", Xg = "mesurer.screenshot.active", Zg = "runtime:solid", Qg = "screenshot.toggle", $g = 2500, e_ = 0, t_ = [
|
|
15772
15782
|
"[data-mesurer-measurement='true']",
|
|
15773
15783
|
"[data-mesurer-selected-measurement='true']",
|
|
15774
15784
|
"[data-mesurer-selection-spacing-target='true']",
|
|
15775
15785
|
"[data-mesurer-guide='true']",
|
|
15776
15786
|
"[data-mesurer-distance='true']"
|
|
15777
|
-
].join(","),
|
|
15787
|
+
].join(","), n_ = `${t_},[data-mesurer-rulers='true']`, r_ = {
|
|
15778
15788
|
viewBox: "0 0 256 256",
|
|
15779
15789
|
paths: ["m 96,50 a 6.0006,6.0006 0 0 0 -4.992188,2.671875 L 76.789062,74 H 40 C 27.920803,74 18,83.920803 18,96 v 96 c 0,12.0792 9.920803,22 22,22 h 176 c 12.0792,0 22,-9.9208 22,-22 V 96 C 238,83.920803 228.0792,74 216,74 H 179.21094 L 164.99219,52.671875 A 6.0006,6.0006 0 0 0 160,50 Z m 3.210937,12 h 57.578123 l 14.21875,21.328125 A 6.0006,6.0006 0 0 0 176,86 h 40 c 5.59392,0 10,4.406085 10,10 v 96 c 0,5.59392 -4.40608,10 -10,10 H 40 c -5.593915,0 -10,-4.40608 -10,-10 V 96 c 0,-5.593915 4.406085,-10 10,-10 h 40 a 6.0006,6.0006 0 0 0 4.992187,-2.671875 z", "m 128,94 c -23.12489,0 -42,18.87511 -42,42 0,23.12489 18.87511,42 42,42 23.12489,0 42,-18.87511 42,-42 0,-23.12489 -18.87511,-42 -42,-42 z m 0,12 c 16.63961,0 30,13.36039 30,30 0,16.63961 -13.36039,30 -30,30 -16.63961,0 -30,-13.36039 -30,-30 0,-16.63961 13.36039,-30 30,-30 z"]
|
|
15780
|
-
},
|
|
15790
|
+
}, i_ = (e, t) => {
|
|
15781
15791
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
15782
|
-
},
|
|
15792
|
+
}, a_ = (e, t) => {
|
|
15783
15793
|
for (let n of [
|
|
15784
15794
|
"left",
|
|
15785
15795
|
"top",
|
|
@@ -15791,63 +15801,63 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15791
15801
|
let r = t[n];
|
|
15792
15802
|
r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
|
|
15793
15803
|
}
|
|
15794
|
-
},
|
|
15795
|
-
let t = e(
|
|
15804
|
+
}, o_ = (e) => {
|
|
15805
|
+
let t = e(Yg);
|
|
15796
15806
|
return {
|
|
15797
15807
|
toolEnabled: t?.toolEnabled ?? !0,
|
|
15798
15808
|
copy: t?.copy ?? !0,
|
|
15799
15809
|
download: t?.download ?? !1,
|
|
15800
15810
|
includeMeasurements: t?.includeMeasurements ?? !1
|
|
15801
15811
|
};
|
|
15802
|
-
},
|
|
15812
|
+
}, s_ = (e) => ({
|
|
15803
15813
|
value: e.style.getPropertyValue("display"),
|
|
15804
15814
|
priority: e.style.getPropertyPriority("display")
|
|
15805
|
-
}),
|
|
15815
|
+
}), c_ = (e, t) => {
|
|
15806
15816
|
t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
|
|
15807
|
-
},
|
|
15817
|
+
}, l_ = (e, t) => {
|
|
15808
15818
|
let n = e;
|
|
15809
15819
|
for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
|
|
15810
15820
|
return n.parentElement === t ? n : null;
|
|
15811
|
-
},
|
|
15821
|
+
}, u_ = (e) => {
|
|
15812
15822
|
let t = e.querySelector("[data-mesurer-root='true']");
|
|
15813
15823
|
if (!t) return () => void 0;
|
|
15814
15824
|
let n = /* @__PURE__ */ new Set();
|
|
15815
15825
|
for (let e of t.querySelectorAll("[data-mesurer-rulers='true']")) {
|
|
15816
|
-
let r =
|
|
15826
|
+
let r = l_(e, t);
|
|
15817
15827
|
r && n.add(r);
|
|
15818
15828
|
}
|
|
15819
|
-
for (let e of t.querySelectorAll(
|
|
15820
|
-
let r =
|
|
15829
|
+
for (let e of t.querySelectorAll(t_)) {
|
|
15830
|
+
let r = l_(e, t);
|
|
15821
15831
|
r && n.add(r);
|
|
15822
15832
|
}
|
|
15823
15833
|
let r = [];
|
|
15824
15834
|
for (let e of n) e.dataset.mesurerInspectorUi !== "true" && (r.push({
|
|
15825
15835
|
element: e,
|
|
15826
|
-
display:
|
|
15836
|
+
display: s_(e)
|
|
15827
15837
|
}), e.style.setProperty("display", "none", "important"));
|
|
15828
15838
|
return () => {
|
|
15829
|
-
for (let e of r)
|
|
15839
|
+
for (let e of r) c_(e.element, e.display);
|
|
15830
15840
|
};
|
|
15831
|
-
},
|
|
15841
|
+
}, d_ = (e) => Array.from(e.querySelectorAll(n_)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
|
|
15832
15842
|
element: e,
|
|
15833
|
-
display:
|
|
15834
|
-
})),
|
|
15835
|
-
for (let t of e) t.element.isConnected &&
|
|
15836
|
-
},
|
|
15837
|
-
id:
|
|
15843
|
+
display: s_(e)
|
|
15844
|
+
})), f_ = (e) => {
|
|
15845
|
+
for (let t of e) t.element.isConnected && c_(t.element, t.display);
|
|
15846
|
+
}, p_ = (e = {}) => pa({
|
|
15847
|
+
id: qg,
|
|
15838
15848
|
version: "0.1.0",
|
|
15839
|
-
requires: [
|
|
15849
|
+
requires: [Zg],
|
|
15840
15850
|
provides: [
|
|
15841
15851
|
"tool:screenshot",
|
|
15842
15852
|
"capture:screenshot",
|
|
15843
15853
|
"settings:screenshot"
|
|
15844
15854
|
],
|
|
15845
15855
|
setup(t) {
|
|
15846
|
-
let n = t.service.get(
|
|
15856
|
+
let n = t.service.get(Zg);
|
|
15847
15857
|
if (!n) throw Error("Screenshot plugin requires the Solid renderer runtime.");
|
|
15848
|
-
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.captureVisibleTab ??
|
|
15858
|
+
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.captureVisibleTab ?? Fg, c = e.previewDurationMs ?? e_;
|
|
15849
15859
|
t.state.register({
|
|
15850
|
-
id:
|
|
15860
|
+
id: Yg,
|
|
15851
15861
|
initial: {
|
|
15852
15862
|
toolEnabled: e.toolEnabled ?? !0,
|
|
15853
15863
|
copy: e.copy ?? !0,
|
|
@@ -15856,11 +15866,11 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15856
15866
|
},
|
|
15857
15867
|
persist: !0
|
|
15858
15868
|
}), t.state.register({
|
|
15859
|
-
id:
|
|
15869
|
+
id: Xg,
|
|
15860
15870
|
initial: !1
|
|
15861
15871
|
});
|
|
15862
15872
|
let l = o.element;
|
|
15863
|
-
l.dataset.mesurerScreenshot = "true",
|
|
15873
|
+
l.dataset.mesurerScreenshot = "true", i_(l, {
|
|
15864
15874
|
position: "fixed",
|
|
15865
15875
|
inset: "0",
|
|
15866
15876
|
"z-index": "85",
|
|
@@ -15868,7 +15878,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15868
15878
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
15869
15879
|
});
|
|
15870
15880
|
let u = r.createElement("div");
|
|
15871
|
-
u.dataset.mesurerScreenshotSelect = "true", u.setAttribute("role", "application"), u.setAttribute("aria-label", "Screenshot selection"),
|
|
15881
|
+
u.dataset.mesurerScreenshotSelect = "true", u.setAttribute("role", "application"), u.setAttribute("aria-label", "Screenshot selection"), i_(u, {
|
|
15872
15882
|
position: "fixed",
|
|
15873
15883
|
inset: "0",
|
|
15874
15884
|
display: "none",
|
|
@@ -15880,13 +15890,13 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15880
15890
|
}), l.append(u);
|
|
15881
15891
|
let d = Array.from({ length: 4 }, () => {
|
|
15882
15892
|
let e = r.createElement("div");
|
|
15883
|
-
return
|
|
15893
|
+
return i_(e, {
|
|
15884
15894
|
position: "fixed",
|
|
15885
15895
|
"background-color": "rgb(0 0 0 / 40%)",
|
|
15886
15896
|
"pointer-events": "none"
|
|
15887
15897
|
}), u.append(e), e;
|
|
15888
15898
|
}), f = r.createElement("div");
|
|
15889
|
-
|
|
15899
|
+
i_(f, {
|
|
15890
15900
|
position: "fixed",
|
|
15891
15901
|
display: "none",
|
|
15892
15902
|
border: "1px solid #0d99ff",
|
|
@@ -15894,7 +15904,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15894
15904
|
"pointer-events": "none"
|
|
15895
15905
|
}), u.append(f);
|
|
15896
15906
|
let p = r.createElement("div");
|
|
15897
|
-
|
|
15907
|
+
i_(p, {
|
|
15898
15908
|
position: "fixed",
|
|
15899
15909
|
display: "none",
|
|
15900
15910
|
"z-index": "86",
|
|
@@ -15908,7 +15918,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15908
15918
|
"pointer-events": "none"
|
|
15909
15919
|
}), u.append(p);
|
|
15910
15920
|
let m = r.createElement("div");
|
|
15911
|
-
m.textContent = "Drag to select · Esc to cancel",
|
|
15921
|
+
m.textContent = "Drag to select · Esc to cancel", i_(m, {
|
|
15912
15922
|
position: "fixed",
|
|
15913
15923
|
left: "50%",
|
|
15914
15924
|
bottom: "16px",
|
|
@@ -15921,7 +15931,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15921
15931
|
"pointer-events": "none"
|
|
15922
15932
|
}), u.append(m);
|
|
15923
15933
|
let h = r.createElement("div");
|
|
15924
|
-
h.dataset.mesurerScreenshotError = "true", h.setAttribute("role", "status"), h.textContent = "Could not save screenshot",
|
|
15934
|
+
h.dataset.mesurerScreenshotError = "true", h.setAttribute("role", "status"), h.textContent = "Could not save screenshot", i_(h, {
|
|
15925
15935
|
position: "fixed",
|
|
15926
15936
|
display: "none",
|
|
15927
15937
|
"z-index": "97",
|
|
@@ -15932,8 +15942,8 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15932
15942
|
"font-size": "11px",
|
|
15933
15943
|
"pointer-events": "none"
|
|
15934
15944
|
}), l.append(h);
|
|
15935
|
-
let g = null, _ = null, v = 0, y = 0, b = !1, x = !1, S = !1, C = () => t.state.get("mesurer.screenshot.active") ?? !1, w = () =>
|
|
15936
|
-
t.state.update(
|
|
15945
|
+
let g = null, _ = null, v = 0, y = 0, b = !1, x = !1, S = !1, C = () => t.state.get("mesurer.screenshot.active") ?? !1, w = () => o_(t.state.get), T = (e) => {
|
|
15946
|
+
t.state.update(Yg, (t) => {
|
|
15937
15947
|
let n = { ...t };
|
|
15938
15948
|
return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), e.copy !== void 0 && (n.copy = e.copy), e.download !== void 0 && (n.download = e.download), e.includeMeasurements !== void 0 && (n.includeMeasurements = e.includeMeasurements), n;
|
|
15939
15949
|
});
|
|
@@ -15956,13 +15966,13 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15956
15966
|
}, k = (e) => {
|
|
15957
15967
|
let t = i.innerWidth, n = i.innerHeight;
|
|
15958
15968
|
if (!e || e.width <= 0 || e.height <= 0) {
|
|
15959
|
-
|
|
15969
|
+
a_(d[0], {
|
|
15960
15970
|
left: 0,
|
|
15961
15971
|
top: 0,
|
|
15962
15972
|
width: t,
|
|
15963
15973
|
height: n
|
|
15964
15974
|
});
|
|
15965
|
-
for (let e of d.slice(1))
|
|
15975
|
+
for (let e of d.slice(1)) a_(e, {
|
|
15966
15976
|
left: 0,
|
|
15967
15977
|
top: 0,
|
|
15968
15978
|
width: 0,
|
|
@@ -15971,31 +15981,31 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
15971
15981
|
f.style.display = "none", p.style.display = "none";
|
|
15972
15982
|
return;
|
|
15973
15983
|
}
|
|
15974
|
-
|
|
15984
|
+
a_(d[0], {
|
|
15975
15985
|
left: 0,
|
|
15976
15986
|
top: 0,
|
|
15977
15987
|
width: t,
|
|
15978
15988
|
height: e.top
|
|
15979
|
-
}),
|
|
15989
|
+
}), a_(d[1], {
|
|
15980
15990
|
left: 0,
|
|
15981
15991
|
top: e.top,
|
|
15982
15992
|
width: e.left,
|
|
15983
15993
|
height: e.height
|
|
15984
|
-
}),
|
|
15994
|
+
}), a_(d[2], {
|
|
15985
15995
|
left: e.left + e.width,
|
|
15986
15996
|
top: e.top,
|
|
15987
15997
|
width: Math.max(0, t - e.left - e.width),
|
|
15988
15998
|
height: e.height
|
|
15989
|
-
}),
|
|
15999
|
+
}), a_(d[3], {
|
|
15990
16000
|
left: 0,
|
|
15991
16001
|
top: e.top + e.height,
|
|
15992
16002
|
width: t,
|
|
15993
16003
|
height: Math.max(0, n - e.top - e.height)
|
|
15994
|
-
}), f.style.display = "block",
|
|
16004
|
+
}), f.style.display = "block", a_(f, e), p.style.display = "block", p.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, a_(p, {
|
|
15995
16005
|
left: e.left + e.width / 2,
|
|
15996
16006
|
top: Math.min(n - 22, e.top + e.height + 6)
|
|
15997
16007
|
});
|
|
15998
|
-
}, A = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, j =
|
|
16008
|
+
}, A = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, j = Kg({
|
|
15999
16009
|
ownerDocument: r,
|
|
16000
16010
|
ownerWindow: i,
|
|
16001
16011
|
root: l,
|
|
@@ -16006,20 +16016,20 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
16006
16016
|
}, N = () => {
|
|
16007
16017
|
v && i.clearTimeout(v), h.style.display = "block", M(h), v = i.setTimeout(() => {
|
|
16008
16018
|
v = 0, h.style.display = "none";
|
|
16009
|
-
},
|
|
16019
|
+
}, $g);
|
|
16010
16020
|
}, P = () => {
|
|
16011
16021
|
g = null, k(null), u.style.visibility = "", u.style.display = "none", l.style.pointerEvents = "none", E(!1), O();
|
|
16012
16022
|
}, F = () => {
|
|
16013
|
-
y += 1, P(),
|
|
16023
|
+
y += 1, P(), Mg(i);
|
|
16014
16024
|
}, I = async (e) => {
|
|
16015
16025
|
if (b) throw Error("A screenshot capture is already running.");
|
|
16016
16026
|
if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
|
|
16017
16027
|
b = !0;
|
|
16018
|
-
let o = ++y, c = w(), l = c.includeMeasurements ?
|
|
16019
|
-
a.prepareCapture(), c.includeMeasurements &&
|
|
16028
|
+
let o = ++y, c = w(), l = c.includeMeasurements ? d_(r) : [], d = c.includeMeasurements ? () => void 0 : u_(n.portalTarget);
|
|
16029
|
+
a.prepareCapture(), c.includeMeasurements && f_(l);
|
|
16020
16030
|
try {
|
|
16021
|
-
u.style.visibility = "hidden", await
|
|
16022
|
-
let n = await
|
|
16031
|
+
u.style.visibility = "hidden", await Cg(i);
|
|
16032
|
+
let n = await yg(await s({
|
|
16023
16033
|
ownerDocument: r,
|
|
16024
16034
|
ownerWindow: i
|
|
16025
16035
|
}), e, {
|
|
@@ -16027,10 +16037,10 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
16027
16037
|
height: i.innerHeight
|
|
16028
16038
|
}, r);
|
|
16029
16039
|
if (y !== o) throw Error("Screenshot capture was cancelled.");
|
|
16030
|
-
let a = !1, l = !1, d = c.copy ?
|
|
16040
|
+
let a = !1, l = !1, d = c.copy ? bg(Promise.resolve(n), i).then(() => {
|
|
16031
16041
|
a = !0;
|
|
16032
16042
|
}) : Promise.resolve(), f = c.download ? Promise.resolve().then(() => {
|
|
16033
|
-
|
|
16043
|
+
Sg(n, xg(), r, i), l = !0;
|
|
16034
16044
|
}) : Promise.resolve(), p = await Promise.allSettled([d, f]), m = c.copy && p[0]?.status === "rejected", h = c.download && p[1]?.status === "rejected";
|
|
16035
16045
|
if (y !== o) throw Error("Screenshot capture was cancelled.");
|
|
16036
16046
|
return j.show(n, {
|
|
@@ -16062,7 +16072,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
16062
16072
|
if (!x) {
|
|
16063
16073
|
x = !0, j.dismiss();
|
|
16064
16074
|
try {
|
|
16065
|
-
if (e.captureVisibleTab === void 0 && await
|
|
16075
|
+
if (e.captureVisibleTab === void 0 && await Pg(r, i), S) return;
|
|
16066
16076
|
D(), k(null), u.style.visibility = "visible", l.style.pointerEvents = "auto", u.style.display = "block", E(!0);
|
|
16067
16077
|
} catch (e) {
|
|
16068
16078
|
throw e instanceof Error && e.name === "AbortError" || N(), e;
|
|
@@ -16075,12 +16085,12 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
16075
16085
|
!C() || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), g = {
|
|
16076
16086
|
x: e.clientX,
|
|
16077
16087
|
y: e.clientY
|
|
16078
|
-
}, k(
|
|
16088
|
+
}, k(vg(g, g, {
|
|
16079
16089
|
width: i.innerWidth,
|
|
16080
16090
|
height: i.innerHeight
|
|
16081
16091
|
})), u.setPointerCapture?.(e.pointerId));
|
|
16082
16092
|
}, z = (e) => {
|
|
16083
|
-
!C() || !g || k(
|
|
16093
|
+
!C() || !g || k(vg(g, {
|
|
16084
16094
|
x: e.clientX,
|
|
16085
16095
|
y: e.clientY
|
|
16086
16096
|
}, {
|
|
@@ -16091,7 +16101,7 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
16091
16101
|
let t = g;
|
|
16092
16102
|
if (g = null, !C() || !t) return;
|
|
16093
16103
|
u.hasPointerCapture?.(e.pointerId) && u.releasePointerCapture(e.pointerId);
|
|
16094
|
-
let n =
|
|
16104
|
+
let n = vg(t, {
|
|
16095
16105
|
x: e.clientX,
|
|
16096
16106
|
y: e.clientY
|
|
16097
16107
|
}, {
|
|
@@ -16124,8 +16134,8 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
16124
16134
|
label: "Screenshot",
|
|
16125
16135
|
shortcut: "Shift+S",
|
|
16126
16136
|
order: 70,
|
|
16127
|
-
command:
|
|
16128
|
-
icon:
|
|
16137
|
+
command: Qg,
|
|
16138
|
+
icon: r_,
|
|
16129
16139
|
active: C,
|
|
16130
16140
|
hidden: () => !w().toolEnabled,
|
|
16131
16141
|
menu: {
|
|
@@ -16191,25 +16201,25 @@ var fg = "mesurer:capture-bridge-ping", pg = "mesurer:capture-bridge-request", m
|
|
|
16191
16201
|
set: (e) => T({ includeMeasurements: e })
|
|
16192
16202
|
}
|
|
16193
16203
|
]
|
|
16194
|
-
}), t.command.register(
|
|
16195
|
-
S = !0, y += 1, u.removeEventListener("pointerdown", R), u.removeEventListener("pointermove", z), u.removeEventListener("pointerup", B), u.removeEventListener("pointercancel", V), i.removeEventListener("keydown", H, !0), v && i.clearTimeout(v), j.dispose(), O(),
|
|
16204
|
+
}), t.command.register(Qg, L), t.service.provide(Jg, ee), t.lifecycle.onDispose(() => {
|
|
16205
|
+
S = !0, y += 1, u.removeEventListener("pointerdown", R), u.removeEventListener("pointermove", z), u.removeEventListener("pointerup", B), u.removeEventListener("pointercancel", V), i.removeEventListener("keydown", H, !0), v && i.clearTimeout(v), j.dispose(), O(), Mg(i), a.finishCapture(), a.dispose(), o.dispose();
|
|
16196
16206
|
});
|
|
16197
16207
|
}
|
|
16198
|
-
}),
|
|
16208
|
+
}), m_ = (e) => Number.parseFloat(e) || 0, h_ = 0, g_ = (e, t) => {
|
|
16199
16209
|
let n = t.CSS;
|
|
16200
16210
|
return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
|
|
16201
|
-
},
|
|
16202
|
-
function
|
|
16211
|
+
}, __ = (e) => e.nodeType === 9, v_ = (e) => e.nodeType === 11;
|
|
16212
|
+
function y_(e) {
|
|
16203
16213
|
let t = e.getRootNode();
|
|
16204
|
-
return
|
|
16214
|
+
return v_(t) ? t : e.ownerDocument;
|
|
16205
16215
|
}
|
|
16206
|
-
var
|
|
16207
|
-
if (
|
|
16208
|
-
let n =
|
|
16209
|
-
return
|
|
16216
|
+
var b_ = (e, t) => {
|
|
16217
|
+
if (__(e) || v_(e)) return e;
|
|
16218
|
+
let n = y_(e);
|
|
16219
|
+
return v_(n) ? n : t;
|
|
16210
16220
|
};
|
|
16211
|
-
function
|
|
16212
|
-
let r =
|
|
16221
|
+
function x_(e, t, n = __(t) ? t : t.ownerDocument ?? document) {
|
|
16222
|
+
let r = b_(t, n).elementFromPoint(e.x, e.y);
|
|
16213
16223
|
for (; r?.shadowRoot;) {
|
|
16214
16224
|
let t = r.shadowRoot.elementFromPoint(e.x, e.y);
|
|
16215
16225
|
if (!t || t === r) break;
|
|
@@ -16217,18 +16227,18 @@ function v_(e, t, n = m_(t) ? t : t.ownerDocument ?? document) {
|
|
|
16217
16227
|
}
|
|
16218
16228
|
return r;
|
|
16219
16229
|
}
|
|
16220
|
-
function
|
|
16221
|
-
if (
|
|
16230
|
+
function S_(e, t) {
|
|
16231
|
+
if (__(t)) return !0;
|
|
16222
16232
|
let n = e;
|
|
16223
16233
|
for (; n;) {
|
|
16224
16234
|
if (t === n || t.contains(n)) return !0;
|
|
16225
16235
|
let e = n.getRootNode();
|
|
16226
|
-
if (!
|
|
16236
|
+
if (!v_(e)) return !1;
|
|
16227
16237
|
n = e.host;
|
|
16228
16238
|
}
|
|
16229
16239
|
return !1;
|
|
16230
16240
|
}
|
|
16231
|
-
function
|
|
16241
|
+
function C_(e, t) {
|
|
16232
16242
|
if (!e) return t();
|
|
16233
16243
|
let n = [e, ...e.querySelectorAll("*")], r = n.map((e) => [
|
|
16234
16244
|
e,
|
|
@@ -16242,9 +16252,9 @@ function b_(e, t) {
|
|
|
16242
16252
|
for (let [e, t, n] of r) t ? e.style.setProperty("pointer-events", t, n) : e.style.removeProperty("pointer-events");
|
|
16243
16253
|
}
|
|
16244
16254
|
}
|
|
16245
|
-
function
|
|
16255
|
+
function w_(e) {
|
|
16246
16256
|
let t = e.ownerDocument.defaultView ?? window;
|
|
16247
|
-
if (e.id) return `#${
|
|
16257
|
+
if (e.id) return `#${g_(e.id, t)}`;
|
|
16248
16258
|
let n = e.getAttribute("data-testid");
|
|
16249
16259
|
if (n) return `[data-testid=${JSON.stringify(n)}]`;
|
|
16250
16260
|
let r = [], i = e;
|
|
@@ -16258,17 +16268,17 @@ function x_(e) {
|
|
|
16258
16268
|
}
|
|
16259
16269
|
return r.join(" > ");
|
|
16260
16270
|
}
|
|
16261
|
-
function
|
|
16271
|
+
function T_(e, t, n = `dom-inspection-${++h_}`) {
|
|
16262
16272
|
let r = e.getBoundingClientRect(), i = t.getComputedStyle(e), a = {
|
|
16263
|
-
top:
|
|
16264
|
-
right:
|
|
16265
|
-
bottom:
|
|
16266
|
-
left:
|
|
16273
|
+
top: m_(i.paddingTop),
|
|
16274
|
+
right: m_(i.paddingRight),
|
|
16275
|
+
bottom: m_(i.paddingBottom),
|
|
16276
|
+
left: m_(i.paddingLeft)
|
|
16267
16277
|
}, o = {
|
|
16268
|
-
top:
|
|
16269
|
-
right:
|
|
16270
|
-
bottom:
|
|
16271
|
-
left:
|
|
16278
|
+
top: m_(i.marginTop),
|
|
16279
|
+
right: m_(i.marginRight),
|
|
16280
|
+
bottom: m_(i.marginBottom),
|
|
16281
|
+
left: m_(i.marginLeft)
|
|
16272
16282
|
}, s = {
|
|
16273
16283
|
left: r.left + a.left,
|
|
16274
16284
|
top: r.top + a.top,
|
|
@@ -16296,8 +16306,8 @@ function S_(e, t, n = `dom-inspection-${++f_}`) {
|
|
|
16296
16306
|
elementRef: e
|
|
16297
16307
|
};
|
|
16298
16308
|
}
|
|
16299
|
-
function
|
|
16300
|
-
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ?
|
|
16309
|
+
function E_(e) {
|
|
16310
|
+
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? T_(r, t) : null, o = (e) => {
|
|
16301
16311
|
let t = Number.parseFloat(e);
|
|
16302
16312
|
return Number.isFinite(t) ? t : 0;
|
|
16303
16313
|
}, s = (e) => ({
|
|
@@ -16307,7 +16317,7 @@ function C_(e) {
|
|
|
16307
16317
|
left: o(n.getPropertyValue(`${e}-left${e === "border" ? "-width" : ""}`))
|
|
16308
16318
|
});
|
|
16309
16319
|
return {
|
|
16310
|
-
selector:
|
|
16320
|
+
selector: w_(e),
|
|
16311
16321
|
tag: e.localName,
|
|
16312
16322
|
id: e.id || null,
|
|
16313
16323
|
classes: [...e.classList],
|
|
@@ -16369,10 +16379,10 @@ function C_(e) {
|
|
|
16369
16379
|
}
|
|
16370
16380
|
//#endregion
|
|
16371
16381
|
//#region src/agent.ts
|
|
16372
|
-
var
|
|
16373
|
-
function
|
|
16374
|
-
let t = e.root ?? e.ownerDocument, n = e.ownerDocument.defaultView ?? window, r = (e, n = 0) => t.querySelectorAll(e).item(n) || null, i = (n) => t === e.ownerDocument ||
|
|
16375
|
-
let t = (e.getPluginHost() ?? await e.waitForPluginHost()).service.get(
|
|
16382
|
+
var D_ = "text-edit", O_ = (e) => E_(e);
|
|
16383
|
+
function k_(e) {
|
|
16384
|
+
let t = e.root ?? e.ownerDocument, n = e.ownerDocument.defaultView ?? window, r = (e, n = 0) => t.querySelectorAll(e).item(n) || null, i = (n) => t === e.ownerDocument || S_(n, t), a = async () => {
|
|
16385
|
+
let t = (e.getPluginHost() ?? await e.waitForPluginHost()).service.get(D_);
|
|
16376
16386
|
if (!t) throw Error("Mesurer text editing service is unavailable.");
|
|
16377
16387
|
return t;
|
|
16378
16388
|
}, o = () => {
|
|
@@ -16401,25 +16411,25 @@ function E_(e) {
|
|
|
16401
16411
|
},
|
|
16402
16412
|
inspect(e, t = 0) {
|
|
16403
16413
|
let n = r(e, t);
|
|
16404
|
-
return n ?
|
|
16414
|
+
return n ? O_(n) : null;
|
|
16405
16415
|
},
|
|
16406
16416
|
inspectAll(e, n = 50) {
|
|
16407
|
-
return [...t.querySelectorAll(e)].slice(0, Math.max(0, n)).map(
|
|
16417
|
+
return [...t.querySelectorAll(e)].slice(0, Math.max(0, n)).map(O_);
|
|
16408
16418
|
},
|
|
16409
16419
|
at(n, r) {
|
|
16410
16420
|
let a = t.querySelector?.("[data-mesurer-island]") ?? null;
|
|
16411
|
-
return
|
|
16412
|
-
let a =
|
|
16421
|
+
return C_(a?.shadowRoot?.querySelector("[data-mesurer-root='true']") ?? a, () => {
|
|
16422
|
+
let a = x_({
|
|
16413
16423
|
x: n,
|
|
16414
16424
|
y: r
|
|
16415
16425
|
}, t, e.ownerDocument);
|
|
16416
|
-
return a && i(a) ?
|
|
16426
|
+
return a && i(a) ? O_(a) : null;
|
|
16417
16427
|
});
|
|
16418
16428
|
},
|
|
16419
16429
|
distance(e, t) {
|
|
16420
16430
|
let n = r(e), i = r(t);
|
|
16421
16431
|
if (!n || !i) return null;
|
|
16422
|
-
let a =
|
|
16432
|
+
let a = O_(n), o = O_(i), s = a.rect, c = o.rect;
|
|
16423
16433
|
return {
|
|
16424
16434
|
a,
|
|
16425
16435
|
b: o,
|
|
@@ -16435,7 +16445,7 @@ function E_(e) {
|
|
|
16435
16445
|
let r = e.getPluginHost() ?? await e.waitForPluginHost();
|
|
16436
16446
|
return {
|
|
16437
16447
|
viewport: o(),
|
|
16438
|
-
elements: n.flatMap((e) => [...t.querySelectorAll(e)].slice(0, 50).map(
|
|
16448
|
+
elements: n.flatMap((e) => [...t.querySelectorAll(e)].slice(0, 50).map(O_)),
|
|
16439
16449
|
plugins: r.describe(),
|
|
16440
16450
|
pluginState: r.state.serialize("all")
|
|
16441
16451
|
};
|
|
@@ -16459,7 +16469,7 @@ function E_(e) {
|
|
|
16459
16469
|
}
|
|
16460
16470
|
//#endregion
|
|
16461
16471
|
//#region ../mesurer-core/dist/context.js
|
|
16462
|
-
var
|
|
16472
|
+
var A_ = (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, j_ = (e) => {
|
|
16463
16473
|
if (!e.length) return null;
|
|
16464
16474
|
let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
|
|
16465
16475
|
return {
|
|
@@ -16468,36 +16478,36 @@ var D_ = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e
|
|
|
16468
16478
|
width: r - t,
|
|
16469
16479
|
height: i - n
|
|
16470
16480
|
};
|
|
16471
|
-
},
|
|
16472
|
-
function
|
|
16481
|
+
}, M_ = (e, t, n) => t.some((t) => e.orientation === "vertical" ? e.position >= t.left - n && e.position <= t.left + t.width + n : e.position >= t.top - n && e.position <= t.top + t.height + n), N_ = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
|
|
16482
|
+
function P_(e) {
|
|
16473
16483
|
let { workspace: t, scope: n, guideTolerance: r } = e;
|
|
16474
16484
|
if (n.kind === "workspace") return {
|
|
16475
16485
|
guides: t.guides.map((e) => ({ ...e })),
|
|
16476
|
-
measurements:
|
|
16486
|
+
measurements: N_(t),
|
|
16477
16487
|
distances: [...t.distances]
|
|
16478
16488
|
};
|
|
16479
|
-
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) =>
|
|
16489
|
+
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => A_(e, t));
|
|
16480
16490
|
return {
|
|
16481
|
-
guides: t.guides.filter((e) =>
|
|
16482
|
-
measurements:
|
|
16491
|
+
guides: t.guides.filter((e) => M_(e, n.regions, r)).map((e) => ({ ...e })),
|
|
16492
|
+
measurements: N_(t).filter((e) => a(e.elementRef) || o(e.rect)),
|
|
16483
16493
|
distances: t.distances.filter((e) => a(e.elementRefA) || a(e.elementRefB) || o(e.rectA) || o(e.rectB))
|
|
16484
16494
|
};
|
|
16485
16495
|
}
|
|
16486
16496
|
//#endregion
|
|
16487
16497
|
//#region ../mesurer-core/dist/domain.js
|
|
16488
|
-
var
|
|
16498
|
+
var F_ = {
|
|
16489
16499
|
opacity: 1,
|
|
16490
16500
|
width: 1,
|
|
16491
16501
|
pattern: "solid",
|
|
16492
16502
|
dashLength: 6,
|
|
16493
16503
|
gap: 4
|
|
16494
|
-
},
|
|
16504
|
+
}, I_ = {
|
|
16495
16505
|
opacity: 1,
|
|
16496
16506
|
edgeReveal: !1
|
|
16497
16507
|
};
|
|
16498
16508
|
//#endregion
|
|
16499
16509
|
//#region ../mesurer-core/dist/events.js
|
|
16500
|
-
function
|
|
16510
|
+
function L_() {
|
|
16501
16511
|
let e = /* @__PURE__ */ new Map();
|
|
16502
16512
|
return {
|
|
16503
16513
|
on(t, n) {
|
|
@@ -16515,12 +16525,12 @@ function P_() {
|
|
|
16515
16525
|
}
|
|
16516
16526
|
};
|
|
16517
16527
|
}
|
|
16518
|
-
({ ...
|
|
16528
|
+
({ ...F_ }), { ...I_ };
|
|
16519
16529
|
//#endregion
|
|
16520
16530
|
//#region ../mesurer-core/dist/plugins.js
|
|
16521
|
-
var
|
|
16522
|
-
function
|
|
16523
|
-
let e = 1, t = 0, n =
|
|
16531
|
+
var R_ = 50;
|
|
16532
|
+
function z_() {
|
|
16533
|
+
let e = 1, t = 0, n = L_(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = [], m = [], h = (e, t) => {
|
|
16524
16534
|
n.emit("changed", {
|
|
16525
16535
|
pluginId: e,
|
|
16526
16536
|
reason: t
|
|
@@ -16581,14 +16591,14 @@ function I_() {
|
|
|
16581
16591
|
}
|
|
16582
16592
|
if (o && s) {
|
|
16583
16593
|
let e = y("history");
|
|
16584
|
-
x(s, e) || (p.push(s), p.length >
|
|
16594
|
+
x(s, e) || (p.push(s), p.length > R_ && p.shift(), m.length = 0);
|
|
16585
16595
|
}
|
|
16586
16596
|
}, w = () => {
|
|
16587
16597
|
let e = p.pop();
|
|
16588
|
-
return e ? (m.push(y("history")), m.length >
|
|
16598
|
+
return e ? (m.push(y("history")), m.length > R_ && m.shift(), b(e, "history"), h(void 0, "history"), !0) : !1;
|
|
16589
16599
|
}, T = () => {
|
|
16590
16600
|
let e = m.pop();
|
|
16591
|
-
return e ? (p.push(y("history")), p.length >
|
|
16601
|
+
return e ? (p.push(y("history")), p.length > R_ && p.shift(), b(e, "history"), h(void 0, "history"), !0) : !1;
|
|
16592
16602
|
}, E = async (e, t) => {
|
|
16593
16603
|
for (let n of [...l.values()].filter((t) => t.name === e)) await n.handler(t);
|
|
16594
16604
|
}, D = (e) => [...u.values()].reverse().find((t) => t.id === e)?.value, O = {
|
|
@@ -16745,17 +16755,17 @@ function I_() {
|
|
|
16745
16755
|
}
|
|
16746
16756
|
//#endregion
|
|
16747
16757
|
//#region src/context.ts
|
|
16748
|
-
var
|
|
16758
|
+
var B_ = 10, V_ = (e) => ({
|
|
16749
16759
|
left: e.left,
|
|
16750
16760
|
top: e.top,
|
|
16751
16761
|
width: e.width,
|
|
16752
16762
|
height: e.height
|
|
16753
|
-
}),
|
|
16763
|
+
}), H_ = (e) => {
|
|
16754
16764
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
16755
16765
|
for (let r of e) !r?.isConnected || t.has(r) || (t.add(r), n.push(r));
|
|
16756
16766
|
return n;
|
|
16757
|
-
},
|
|
16758
|
-
function
|
|
16767
|
+
}, U_ = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
16768
|
+
function W_(e) {
|
|
16759
16769
|
let { runtime: t, ownerDocument: n, ownerWindow: r } = e, i = e.request ?? { scope: "workspace" }, a = t.snapshot();
|
|
16760
16770
|
if (!a) throw Error("Mesurer workspace is not ready yet.");
|
|
16761
16771
|
let o = [], s = [], c = { kind: "workspace" }, l = /* @__PURE__ */ new Map();
|
|
@@ -16763,7 +16773,7 @@ function V_(e) {
|
|
|
16763
16773
|
let e = t.annotation(i.annotation);
|
|
16764
16774
|
if (!e) throw Error(`Mesurer annotation not found: ${i.annotation}`);
|
|
16765
16775
|
for (let t of e.resolvedTargets) t.element?.isConnected && l.set(t.element, t.target.id);
|
|
16766
|
-
o =
|
|
16776
|
+
o = H_(e.resolvedTargets.map((e) => e.element));
|
|
16767
16777
|
let n = t.annotationRect(e.id);
|
|
16768
16778
|
n && (s = [n]);
|
|
16769
16779
|
let r = e.resolvedTargets.length, a = e.resolvedTargets.filter((e) => e.element?.isConnected).length, u = e.anchor.kind === "region" ? "connected" : r === 0 || a === 0 ? "stale" : a === r ? "connected" : "partial";
|
|
@@ -16775,15 +16785,15 @@ function V_(e) {
|
|
|
16775
16785
|
};
|
|
16776
16786
|
} else if (i.scope === "selection") {
|
|
16777
16787
|
let e = t.currentSelection();
|
|
16778
|
-
if (o =
|
|
16779
|
-
s = e.region ? [e.region] : o.map((e) =>
|
|
16780
|
-
} else o =
|
|
16788
|
+
if (o = H_(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
|
|
16789
|
+
s = e.region ? [e.region] : o.map((e) => V_(e.getBoundingClientRect())), c = { kind: "selection" };
|
|
16790
|
+
} else o = H_([
|
|
16781
16791
|
...t.currentSelection().elements,
|
|
16782
16792
|
...a.measurements.map((e) => e.elementRef),
|
|
16783
16793
|
a.activeMeasurement?.elementRef,
|
|
16784
16794
|
...a.heldDistances.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
16785
16795
|
]);
|
|
16786
|
-
let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) =>
|
|
16796
|
+
let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) => V_(e.getBoundingClientRect())), d = P_({
|
|
16787
16797
|
workspace: {
|
|
16788
16798
|
guides: a.guides,
|
|
16789
16799
|
measurements: a.measurements,
|
|
@@ -16795,8 +16805,8 @@ function V_(e) {
|
|
|
16795
16805
|
elements: o,
|
|
16796
16806
|
regions: u
|
|
16797
16807
|
},
|
|
16798
|
-
guideTolerance: a.guideRelevanceTolerance ??
|
|
16799
|
-
}), f = d.measurements, p = d.distances, m = d.guides, h =
|
|
16808
|
+
guideTolerance: a.guideRelevanceTolerance ?? B_
|
|
16809
|
+
}), f = d.measurements, p = d.distances, m = d.guides, h = H_([
|
|
16800
16810
|
...o,
|
|
16801
16811
|
...f.map((e) => e.elementRef),
|
|
16802
16812
|
...p.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
@@ -16808,12 +16818,12 @@ function V_(e) {
|
|
|
16808
16818
|
let t = l.get(e) ?? y();
|
|
16809
16819
|
return g.set(e, t), {
|
|
16810
16820
|
ref: t,
|
|
16811
|
-
inspection:
|
|
16821
|
+
inspection: E_(e)
|
|
16812
16822
|
};
|
|
16813
16823
|
}), x = f.map((e) => {
|
|
16814
16824
|
let t = {
|
|
16815
16825
|
id: e.id,
|
|
16816
|
-
rect:
|
|
16826
|
+
rect: V_(e.rect),
|
|
16817
16827
|
deltaX: e.deltaX,
|
|
16818
16828
|
deltaY: e.deltaY
|
|
16819
16829
|
};
|
|
@@ -16823,8 +16833,8 @@ function V_(e) {
|
|
|
16823
16833
|
}), S = p.map((e) => {
|
|
16824
16834
|
let t = {
|
|
16825
16835
|
id: e.id,
|
|
16826
|
-
rectA:
|
|
16827
|
-
rectB:
|
|
16836
|
+
rectA: V_(e.rectA),
|
|
16837
|
+
rectB: V_(e.rectB),
|
|
16828
16838
|
horizontal: e.horizontal ? { ...e.horizontal } : null,
|
|
16829
16839
|
vertical: e.vertical ? { ...e.vertical } : null
|
|
16830
16840
|
}, n = e.elementRefA ? g.get(e.elementRefA) : void 0, r = e.elementRefB ? g.get(e.elementRefB) : void 0;
|
|
@@ -16832,7 +16842,7 @@ function V_(e) {
|
|
|
16832
16842
|
});
|
|
16833
16843
|
return {
|
|
16834
16844
|
schema: "mesurer.context/v1",
|
|
16835
|
-
id:
|
|
16845
|
+
id: U_(r),
|
|
16836
16846
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
16837
16847
|
scope: c,
|
|
16838
16848
|
page: {
|
|
@@ -16847,7 +16857,7 @@ function V_(e) {
|
|
|
16847
16857
|
scrollY: r.scrollY
|
|
16848
16858
|
},
|
|
16849
16859
|
coordinateSpace: "viewport-css-px",
|
|
16850
|
-
regions: c.kind === "workspace" ? [] : s.map(
|
|
16860
|
+
regions: c.kind === "workspace" ? [] : s.map(V_),
|
|
16851
16861
|
visualState: {
|
|
16852
16862
|
rulersVisible: a.rulersVisible,
|
|
16853
16863
|
xrayVisible: a.xrayVisible
|
|
@@ -16860,40 +16870,40 @@ function V_(e) {
|
|
|
16860
16870
|
}
|
|
16861
16871
|
};
|
|
16862
16872
|
}
|
|
16863
|
-
var
|
|
16864
|
-
function
|
|
16873
|
+
var G_ = (e) => `${Math.round(e * 100) / 100}px`, K_ = (e) => `x=${G_(e.left)} y=${G_(e.top)} w=${G_(e.width)} h=${G_(e.height)}`;
|
|
16874
|
+
function q_(e) {
|
|
16865
16875
|
let t = [
|
|
16866
16876
|
"Mesurer visual context",
|
|
16867
16877
|
"",
|
|
16868
16878
|
`Page: ${e.page.url}`,
|
|
16869
16879
|
`Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`
|
|
16870
16880
|
];
|
|
16871
|
-
if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${
|
|
16881
|
+
if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${K_(e)}`))), (e.visualState.rulersVisible || e.visualState.xrayVisible) && t.push("", `Visual state: rulers=${e.visualState.rulersVisible ? "on" : "off"}; x-ray=${e.visualState.xrayVisible ? "on" : "off"}`), e.targets.length) {
|
|
16872
16882
|
t.push("", "Targets");
|
|
16873
16883
|
for (let n of e.targets) {
|
|
16874
16884
|
let e = n.inspection;
|
|
16875
|
-
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${
|
|
16885
|
+
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${K_(e.rect)}`, ` margin: ${G_(e.margin.top)} ${G_(e.margin.right)} ${G_(e.margin.bottom)} ${G_(e.margin.left)}`, ` padding: ${G_(e.padding.top)} ${G_(e.padding.right)} ${G_(e.padding.bottom)} ${G_(e.padding.left)}`, ` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`, ` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`), e.text && t.push(` text: ${JSON.stringify(e.text)}`);
|
|
16876
16886
|
}
|
|
16877
16887
|
}
|
|
16878
16888
|
if (e.visualContext.guides.length) {
|
|
16879
16889
|
t.push("", "Relevant guides");
|
|
16880
|
-
for (let n of e.visualContext.guides) t.push(`- ${n.orientation} ${n.orientation === "vertical" ? "x" : "y"}=${
|
|
16890
|
+
for (let n of e.visualContext.guides) t.push(`- ${n.orientation} ${n.orientation === "vertical" ? "x" : "y"}=${G_(n.position)}`);
|
|
16881
16891
|
}
|
|
16882
16892
|
if (e.visualContext.measurements.length) {
|
|
16883
16893
|
t.push("", "Relevant measurements");
|
|
16884
|
-
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${
|
|
16894
|
+
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${K_(n.rect)}; delta=${G_(n.deltaX)} × ${G_(n.deltaY)}`);
|
|
16885
16895
|
}
|
|
16886
16896
|
if (e.visualContext.distances.length) {
|
|
16887
16897
|
t.push("", "Relevant distances");
|
|
16888
16898
|
for (let n of e.visualContext.distances) {
|
|
16889
|
-
let e = [n.targetARef, n.targetBRef].filter(Boolean).join(" → "), r = [n.horizontal ? `horizontal=${
|
|
16899
|
+
let e = [n.targetARef, n.targetBRef].filter(Boolean).join(" → "), r = [n.horizontal ? `horizontal=${G_(n.horizontal.value)}` : null, n.vertical ? `vertical=${G_(n.vertical.value)}` : null].filter(Boolean).join("; ");
|
|
16890
16900
|
t.push(`- ${e ? `${e}: ` : ""}${r || "overlapping"}`);
|
|
16891
16901
|
}
|
|
16892
16902
|
}
|
|
16893
16903
|
return t.join("\n").trimEnd();
|
|
16894
16904
|
}
|
|
16895
|
-
function
|
|
16896
|
-
let t =
|
|
16905
|
+
function J_(e) {
|
|
16906
|
+
let t = j_([
|
|
16897
16907
|
...e.regions,
|
|
16898
16908
|
...e.targets.map((e) => e.inspection.rect),
|
|
16899
16909
|
...e.visualContext.measurements.map((e) => e.rect),
|
|
@@ -16923,7 +16933,7 @@ function G_(e) {
|
|
|
16923
16933
|
captures: n
|
|
16924
16934
|
};
|
|
16925
16935
|
}
|
|
16926
|
-
var
|
|
16936
|
+
var Y_ = (e, t, n, r, i) => {
|
|
16927
16937
|
!Number.isFinite(r) || !Number.isFinite(i) || Math.abs(r - i) < .01 || e.push({
|
|
16928
16938
|
kind: t,
|
|
16929
16939
|
label: n,
|
|
@@ -16932,16 +16942,16 @@ var K_ = (e, t, n, r, i) => {
|
|
|
16932
16942
|
delta: i - r,
|
|
16933
16943
|
unit: "px"
|
|
16934
16944
|
});
|
|
16935
|
-
},
|
|
16945
|
+
}, X_ = (e, t, n, r) => e.push({
|
|
16936
16946
|
kind: "missing",
|
|
16937
16947
|
evidence: t,
|
|
16938
16948
|
id: n,
|
|
16939
16949
|
label: r
|
|
16940
16950
|
});
|
|
16941
|
-
function
|
|
16951
|
+
function Z_(e) {
|
|
16942
16952
|
let t = e.runtime.annotation(e.annotationId);
|
|
16943
16953
|
if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
|
|
16944
|
-
let n =
|
|
16954
|
+
let n = W_({
|
|
16945
16955
|
runtime: e.runtime,
|
|
16946
16956
|
ownerDocument: e.ownerDocument,
|
|
16947
16957
|
ownerWindow: e.ownerWindow,
|
|
@@ -16950,41 +16960,41 @@ function J_(e) {
|
|
|
16950
16960
|
if (n.scope.kind !== "annotation") throw Error("Mesurer annotation context invariant failed.");
|
|
16951
16961
|
let r = e.runtime.snapshot();
|
|
16952
16962
|
if (!r) throw Error("Mesurer workspace is not ready yet.");
|
|
16953
|
-
let i =
|
|
16963
|
+
let i = N_({
|
|
16954
16964
|
measurements: r.measurements,
|
|
16955
16965
|
activeMeasurement: r.activeMeasurement
|
|
16956
16966
|
}), a = [];
|
|
16957
16967
|
for (let e of t.baseline.targets) {
|
|
16958
16968
|
let t = n.targets.find((t) => t.ref === e.id);
|
|
16959
16969
|
if (!t) {
|
|
16960
|
-
|
|
16970
|
+
X_(a, "target", e.id, e.selector);
|
|
16961
16971
|
continue;
|
|
16962
16972
|
}
|
|
16963
|
-
|
|
16973
|
+
Y_(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), Y_(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), Y_(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), Y_(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
|
|
16964
16974
|
}
|
|
16965
16975
|
for (let e of t.baseline.guides) {
|
|
16966
16976
|
let t = n.visualContext.guides.find((t) => t.id === e.id) ?? r.guides.find((t) => t.id === e.id);
|
|
16967
16977
|
if (!t) {
|
|
16968
|
-
|
|
16978
|
+
X_(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
|
|
16969
16979
|
continue;
|
|
16970
16980
|
}
|
|
16971
|
-
|
|
16981
|
+
Y_(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
|
|
16972
16982
|
}
|
|
16973
16983
|
for (let e of t.baseline.measurements) {
|
|
16974
16984
|
let t = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
|
|
16975
16985
|
if (!t) {
|
|
16976
|
-
|
|
16986
|
+
X_(a, "measurement", e.id, e.id);
|
|
16977
16987
|
continue;
|
|
16978
16988
|
}
|
|
16979
|
-
|
|
16989
|
+
Y_(a, "measurement", `${e.id} width`, e.rect.width, t.rect.width), Y_(a, "measurement", `${e.id} height`, e.rect.height, t.rect.height);
|
|
16980
16990
|
}
|
|
16981
16991
|
for (let e of t.baseline.distances) {
|
|
16982
16992
|
let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
|
|
16983
16993
|
if (!t) {
|
|
16984
|
-
|
|
16994
|
+
X_(a, "distance", e.id, e.id);
|
|
16985
16995
|
continue;
|
|
16986
16996
|
}
|
|
16987
|
-
e.horizontal && t.horizontal ?
|
|
16997
|
+
e.horizontal && t.horizontal ? Y_(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && X_(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? Y_(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && X_(a, "distance", e.id, `${e.id} vertical`);
|
|
16988
16998
|
}
|
|
16989
16999
|
return {
|
|
16990
17000
|
schema: "mesurer.review/v1",
|
|
@@ -16996,7 +17006,7 @@ function J_(e) {
|
|
|
16996
17006
|
changes: a
|
|
16997
17007
|
};
|
|
16998
17008
|
}
|
|
16999
|
-
async function
|
|
17009
|
+
async function Q_(e, t, n) {
|
|
17000
17010
|
try {
|
|
17001
17011
|
if (t.navigator.clipboard?.writeText) {
|
|
17002
17012
|
await t.navigator.clipboard.writeText(n);
|
|
@@ -17010,77 +17020,77 @@ async function Y_(e, t, n) {
|
|
|
17010
17020
|
}
|
|
17011
17021
|
//#endregion
|
|
17012
17022
|
//#region src/version.ts
|
|
17013
|
-
var
|
|
17023
|
+
var $_ = "0.1.8-beta.3", ev = "mesurer.context", tv = "context:v1", nv = "mesurer.context.settings", rv = "context.ui", iv = "data-mesurer-direct-text-edit-active", av = {
|
|
17014
17024
|
viewBox: "0 0 256 256",
|
|
17015
17025
|
paths: ["M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"]
|
|
17016
|
-
},
|
|
17026
|
+
}, ov = {
|
|
17017
17027
|
viewBox: "0 0 256 256",
|
|
17018
17028
|
paths: ["M152,40a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16h32A8,8,0,0,1,152,40Zm-8,168H112a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16ZM208,32H184a8,8,0,0,0,0,16h24V72a8,8,0,0,0,16,0V48A16,16,0,0,0,208,32Zm8,72a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V112A8,8,0,0,0,216,104Zm0,72a8,8,0,0,0-8,8v24H184a8,8,0,0,0,0,16h24a16,16,0,0,0,16-16V184A8,8,0,0,0,216,176ZM40,152a8,8,0,0,0,8-8V112a8,8,0,0,0-16,0v32A8,8,0,0,0,40,152Zm32,56H48V184a8,8,0,0,0-16,0v24a16,16,0,0,0,16,16H72a8,8,0,0,0,0-16ZM72,32H48A16,16,0,0,0,32,48V72a8,8,0,0,0,16,0V48H72a8,8,0,0,0,0-16Z"]
|
|
17019
|
-
},
|
|
17029
|
+
}, sv = {
|
|
17020
17030
|
viewBox: "0 0 256 256",
|
|
17021
17031
|
paths: ["M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z"]
|
|
17022
|
-
},
|
|
17032
|
+
}, cv = async (e, t, n = 1) => {
|
|
17023
17033
|
await e.fonts?.ready;
|
|
17024
17034
|
for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
|
|
17025
|
-
},
|
|
17026
|
-
let r = async (r) =>
|
|
17035
|
+
}, lv = (e, t, n) => {
|
|
17036
|
+
let r = async (r) => W_({
|
|
17027
17037
|
runtime: e,
|
|
17028
17038
|
ownerDocument: t,
|
|
17029
17039
|
ownerWindow: n,
|
|
17030
17040
|
request: r
|
|
17031
|
-
}), i = async (e) =>
|
|
17041
|
+
}), i = async (e) => q_(await r(e));
|
|
17032
17042
|
return {
|
|
17033
17043
|
context: r,
|
|
17034
17044
|
contextText: i,
|
|
17035
|
-
copyContext: async (e) =>
|
|
17036
|
-
select: async (i) => (e.select(Array.isArray(i) ? i : [i]), await
|
|
17045
|
+
copyContext: async (e) => Q_(t, n, await i(e)),
|
|
17046
|
+
select: async (i) => (e.select(Array.isArray(i) ? i : [i]), await cv(t, n), r({ scope: "selection" })),
|
|
17037
17047
|
annotations: async () => e.annotations(),
|
|
17038
17048
|
removeAnnotation: async (r) => {
|
|
17039
|
-
e.removeAnnotation(r), await
|
|
17049
|
+
e.removeAnnotation(r), await cv(t, n);
|
|
17040
17050
|
},
|
|
17041
|
-
review: async (r) => (await
|
|
17051
|
+
review: async (r) => (await cv(t, n), r ? Z_({
|
|
17042
17052
|
runtime: e,
|
|
17043
17053
|
ownerDocument: t,
|
|
17044
17054
|
ownerWindow: n,
|
|
17045
17055
|
annotationId: r
|
|
17046
|
-
}) : e.annotations().map((r) =>
|
|
17056
|
+
}) : e.annotations().map((r) => Z_({
|
|
17047
17057
|
runtime: e,
|
|
17048
17058
|
ownerDocument: t,
|
|
17049
17059
|
ownerWindow: n,
|
|
17050
17060
|
annotationId: r.id
|
|
17051
17061
|
}))),
|
|
17052
|
-
capturePlan: async (e) =>
|
|
17062
|
+
capturePlan: async (e) => J_(await r(e)),
|
|
17053
17063
|
prepareCapture: async () => {
|
|
17054
|
-
e.prepareCapture(), await
|
|
17064
|
+
e.prepareCapture(), await cv(t, n);
|
|
17055
17065
|
},
|
|
17056
17066
|
finishCapture: async () => {
|
|
17057
|
-
e.finishCapture(), await
|
|
17067
|
+
e.finishCapture(), await cv(t, n);
|
|
17058
17068
|
}
|
|
17059
17069
|
};
|
|
17060
|
-
},
|
|
17070
|
+
}, uv = (e) => {
|
|
17061
17071
|
let t = e.currentSelection();
|
|
17062
17072
|
return t.elements.length > 0 || t.region !== null;
|
|
17063
17073
|
};
|
|
17064
|
-
function
|
|
17074
|
+
function dv(e = {}) {
|
|
17065
17075
|
return {
|
|
17066
|
-
id:
|
|
17067
|
-
version:
|
|
17076
|
+
id: ev,
|
|
17077
|
+
version: $_,
|
|
17068
17078
|
requires: ["runtime:solid"],
|
|
17069
|
-
provides: [
|
|
17079
|
+
provides: [tv],
|
|
17070
17080
|
setup(t) {
|
|
17071
17081
|
let n = t.service.get("runtime:solid");
|
|
17072
17082
|
if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
|
|
17073
|
-
let r = n.createWorkspaceRuntime(
|
|
17074
|
-
t.service.provide(
|
|
17075
|
-
id:
|
|
17083
|
+
let r = n.createWorkspaceRuntime(ev), i = lv(r, n.ownerDocument, n.ownerWindow);
|
|
17084
|
+
t.service.provide(tv, i), t.state.register({
|
|
17085
|
+
id: nv,
|
|
17076
17086
|
initial: { ui: e.ui ?? !0 },
|
|
17077
17087
|
persist: !0
|
|
17078
17088
|
}), t.state.register({
|
|
17079
|
-
id:
|
|
17080
|
-
initial: { hasSelection:
|
|
17089
|
+
id: rv,
|
|
17090
|
+
initial: { hasSelection: uv(r) }
|
|
17081
17091
|
});
|
|
17082
|
-
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(
|
|
17083
|
-
t.state.update(
|
|
17092
|
+
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(rv)?.hasSelection === !0, s = (e) => {
|
|
17093
|
+
t.state.update(nv, (t) => ({
|
|
17084
17094
|
...t,
|
|
17085
17095
|
ui: e
|
|
17086
17096
|
}));
|
|
@@ -17094,21 +17104,21 @@ function cv(e = {}) {
|
|
|
17094
17104
|
region: e.region ? { ...e.region } : null
|
|
17095
17105
|
}, r.selectGestureActive() ? c?.abandonNoteComposer() : n && c?.closeNoteComposer();
|
|
17096
17106
|
let i = e.elements.length > 0 || e.region !== null;
|
|
17097
|
-
i !== (t.state.get(
|
|
17107
|
+
i !== (t.state.get(rv)?.hasSelection ?? !1) && t.state.update(rv, () => ({ hasSelection: i }));
|
|
17098
17108
|
});
|
|
17099
17109
|
t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
|
|
17100
17110
|
let g = () => {
|
|
17101
17111
|
let e = u?.element;
|
|
17102
|
-
e && (n.rendererRoot?.hasAttribute(
|
|
17112
|
+
e && (n.rendererRoot?.hasAttribute(iv) ? e.setAttribute(iv, "true") : e.removeAttribute(iv));
|
|
17103
17113
|
}, _ = () => {
|
|
17104
17114
|
d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
|
|
17105
17115
|
}, v = () => {
|
|
17106
17116
|
if (u) return;
|
|
17107
|
-
if (u =
|
|
17117
|
+
if (u = mg(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
|
|
17108
17118
|
let e = new n.ownerWindow.MutationObserver(g);
|
|
17109
17119
|
d = e, e.observe(n.rendererRoot, {
|
|
17110
17120
|
attributes: !0,
|
|
17111
|
-
attributeFilter: [
|
|
17121
|
+
attributeFilter: [iv]
|
|
17112
17122
|
}), g();
|
|
17113
17123
|
}
|
|
17114
17124
|
let e = {
|
|
@@ -17119,7 +17129,7 @@ function cv(e = {}) {
|
|
|
17119
17129
|
},
|
|
17120
17130
|
coordinateSpace: "document"
|
|
17121
17131
|
};
|
|
17122
|
-
l = _i(() => Rr(
|
|
17132
|
+
l = _i(() => Rr(ug, gi(e, { get ownerWindow() {
|
|
17123
17133
|
return n.ownerWindow;
|
|
17124
17134
|
} })), u.element);
|
|
17125
17135
|
}, y = () => {
|
|
@@ -17131,7 +17141,7 @@ function cv(e = {}) {
|
|
|
17131
17141
|
shortcut: "C",
|
|
17132
17142
|
command: "context.copy",
|
|
17133
17143
|
order: 70,
|
|
17134
|
-
icon:
|
|
17144
|
+
icon: av,
|
|
17135
17145
|
hidden: () => !a()
|
|
17136
17146
|
}), t.tool.register({
|
|
17137
17147
|
id: "context.copy-selection",
|
|
@@ -17139,7 +17149,7 @@ function cv(e = {}) {
|
|
|
17139
17149
|
shortcut: "Shift+C",
|
|
17140
17150
|
command: "context.copy-selection",
|
|
17141
17151
|
order: 71,
|
|
17142
|
-
icon:
|
|
17152
|
+
icon: ov,
|
|
17143
17153
|
hidden: () => !a(),
|
|
17144
17154
|
disabled: () => !o()
|
|
17145
17155
|
}), t.tool.register({
|
|
@@ -17148,7 +17158,7 @@ function cv(e = {}) {
|
|
|
17148
17158
|
shortcut: "N",
|
|
17149
17159
|
command: "context.add-note",
|
|
17150
17160
|
order: 72,
|
|
17151
|
-
icon:
|
|
17161
|
+
icon: sv,
|
|
17152
17162
|
hidden: () => !a(),
|
|
17153
17163
|
disabled: () => !o()
|
|
17154
17164
|
}), t.settings.register({
|
|
@@ -17171,7 +17181,7 @@ function cv(e = {}) {
|
|
|
17171
17181
|
}
|
|
17172
17182
|
//#endregion
|
|
17173
17183
|
//#region src/host-layer.ts
|
|
17174
|
-
var
|
|
17184
|
+
var fv = {
|
|
17175
17185
|
display: "block",
|
|
17176
17186
|
position: "fixed",
|
|
17177
17187
|
inset: "0",
|
|
@@ -17213,48 +17223,48 @@ var lv = {
|
|
|
17213
17223
|
"letter-spacing": "normal",
|
|
17214
17224
|
direction: "ltr"
|
|
17215
17225
|
};
|
|
17216
|
-
function
|
|
17217
|
-
for (let [t, n] of Object.entries(
|
|
17226
|
+
function pv(e) {
|
|
17227
|
+
for (let [t, n] of Object.entries(fv)) e.style.setProperty(t, n, "important");
|
|
17218
17228
|
}
|
|
17219
|
-
function
|
|
17229
|
+
function mv(e) {
|
|
17220
17230
|
return "popover" in e && "showPopover" in e && typeof e.showPopover == "function" && "hidePopover" in e && typeof e.hidePopover == "function";
|
|
17221
17231
|
}
|
|
17222
|
-
var
|
|
17223
|
-
function
|
|
17224
|
-
if (!
|
|
17232
|
+
var hv = (e) => "newState" in e, gv = (e) => e.localName === "dialog";
|
|
17233
|
+
function _v(e) {
|
|
17234
|
+
if (!gv(e) || !e.open) return !1;
|
|
17225
17235
|
try {
|
|
17226
17236
|
return e.matches(":modal");
|
|
17227
17237
|
} catch {
|
|
17228
17238
|
return !1;
|
|
17229
17239
|
}
|
|
17230
17240
|
}
|
|
17231
|
-
function
|
|
17232
|
-
|
|
17241
|
+
function vv(e, t, n = !0) {
|
|
17242
|
+
pv(e);
|
|
17233
17243
|
let r = e.ownerDocument, i = r.defaultView ?? window, a = t, o = !1, s = "fixed", c = !1, l = 0, u = [];
|
|
17234
|
-
if (n &&
|
|
17244
|
+
if (n && mv(e) && (e.popover = "manual"), t.append(e), n && mv(e)) try {
|
|
17235
17245
|
e.showPopover(), c = e.matches(":popover-open"), c && (s = "top-layer");
|
|
17236
17246
|
} catch {
|
|
17237
17247
|
e.removeAttribute("popover");
|
|
17238
17248
|
}
|
|
17239
17249
|
let d = () => {
|
|
17240
|
-
if (!(!c || !
|
|
17250
|
+
if (!(!c || !mv(e))) try {
|
|
17241
17251
|
e.matches(":popover-open") || e.showPopover();
|
|
17242
17252
|
} catch {}
|
|
17243
17253
|
}, f = (t) => {
|
|
17244
17254
|
if (e.parentNode === t) return;
|
|
17245
|
-
let n = c &&
|
|
17246
|
-
if (n &&
|
|
17255
|
+
let n = c && mv(e) && e.matches(":popover-open");
|
|
17256
|
+
if (n && mv(e)) try {
|
|
17247
17257
|
e.hidePopover();
|
|
17248
17258
|
} catch {}
|
|
17249
|
-
t.append(e),
|
|
17259
|
+
t.append(e), pv(e), n && d();
|
|
17250
17260
|
}, p = () => {
|
|
17251
|
-
u = u.filter((e) => e.isConnected &&
|
|
17261
|
+
u = u.filter((e) => e.isConnected && _v(e)), f(u.at(-1) ?? a);
|
|
17252
17262
|
}, m = (e) => {
|
|
17253
17263
|
u = u.filter((t) => t !== e), u.push(e), p();
|
|
17254
17264
|
}, h = (e) => {
|
|
17255
17265
|
u = u.filter((t) => t !== e), p();
|
|
17256
17266
|
}, g = () => {
|
|
17257
|
-
if (!(o || !c || !
|
|
17267
|
+
if (!(o || !c || !mv(e))) try {
|
|
17258
17268
|
e.matches(":popover-open") && e.hidePopover(), e.showPopover();
|
|
17259
17269
|
} catch {}
|
|
17260
17270
|
}, _ = () => {
|
|
@@ -17263,27 +17273,27 @@ function hv(e, t, n = !0) {
|
|
|
17263
17273
|
}));
|
|
17264
17274
|
}, v = (t) => {
|
|
17265
17275
|
if (!c || t.target === e) return;
|
|
17266
|
-
let n =
|
|
17276
|
+
let n = hv(t) ? t.newState : void 0, r = t.target;
|
|
17267
17277
|
if (r instanceof i.Element) {
|
|
17268
|
-
if (
|
|
17269
|
-
n === "open" &&
|
|
17278
|
+
if (gv(r)) {
|
|
17279
|
+
n === "open" && _v(r) ? (m(r), _()) : n === "closed" ? h(r) : n === "open" && _();
|
|
17270
17280
|
return;
|
|
17271
17281
|
}
|
|
17272
17282
|
n === "open" && r.hasAttribute("popover") && _();
|
|
17273
17283
|
}
|
|
17274
17284
|
}, y = (e) => {
|
|
17275
17285
|
let t = e.target;
|
|
17276
|
-
t instanceof i.Element &&
|
|
17286
|
+
t instanceof i.Element && gv(t) && h(t);
|
|
17277
17287
|
}, b = () => {
|
|
17278
17288
|
r.fullscreenElement && _();
|
|
17279
17289
|
}, x = (e) => {
|
|
17280
|
-
|
|
17281
|
-
for (let t of e.querySelectorAll("dialog"))
|
|
17290
|
+
_v(e) && m(e);
|
|
17291
|
+
for (let t of e.querySelectorAll("dialog")) _v(t) && m(t);
|
|
17282
17292
|
}, S = new i.MutationObserver((e) => {
|
|
17283
17293
|
if (c) for (let t of e) {
|
|
17284
17294
|
if (t.type === "attributes") {
|
|
17285
17295
|
let e = t.target;
|
|
17286
|
-
e instanceof i.Element &&
|
|
17296
|
+
e instanceof i.Element && gv(e) && (_v(e) ? m(e) : h(e));
|
|
17287
17297
|
}
|
|
17288
17298
|
for (let e of t.addedNodes) e instanceof i.Element && x(e);
|
|
17289
17299
|
u.some((e) => !e.isConnected) && p();
|
|
@@ -17299,7 +17309,7 @@ function hv(e, t, n = !0) {
|
|
|
17299
17309
|
bringToFront: g,
|
|
17300
17310
|
dispose() {
|
|
17301
17311
|
if (!o) {
|
|
17302
|
-
if (o = !0, l && i.cancelAnimationFrame(l), r.removeEventListener("toggle", v, !0), r.removeEventListener("close", y, !0), r.removeEventListener("fullscreenchange", b, !0), S.disconnect(), c &&
|
|
17312
|
+
if (o = !0, l && i.cancelAnimationFrame(l), r.removeEventListener("toggle", v, !0), r.removeEventListener("close", y, !0), r.removeEventListener("fullscreenchange", b, !0), S.disconnect(), c && mv(e) && e.matches(":popover-open")) try {
|
|
17303
17313
|
e.hidePopover();
|
|
17304
17314
|
} catch {}
|
|
17305
17315
|
u = [];
|
|
@@ -17309,31 +17319,31 @@ function hv(e, t, n = !0) {
|
|
|
17309
17319
|
}
|
|
17310
17320
|
//#endregion
|
|
17311
17321
|
//#region src/arrange.ts
|
|
17312
|
-
var
|
|
17322
|
+
var yv = Fd, bv = () => ({
|
|
17313
17323
|
...Sf(),
|
|
17314
|
-
version:
|
|
17315
|
-
}),
|
|
17324
|
+
version: $_
|
|
17325
|
+
}), xv = "mesurer.codex", Sv = "codex:v1", Cv = "context:v1", wv = "http://127.0.0.1:47365", Tv = 2e3, Ev = 750, Dv = 1800, Ov = 2e3, kv = 12e4, Av = 10, jv = 5, Mv = [
|
|
17316
17326
|
"Implement the current human feedback from Mesurer in this project.",
|
|
17317
17327
|
"Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
|
|
17318
17328
|
"and verify the affected UI in the live page with Mesurer before claiming completion."
|
|
17319
|
-
].join(" "),
|
|
17329
|
+
].join(" "), Nv = {
|
|
17320
17330
|
viewBox: "0 0 256 256",
|
|
17321
17331
|
paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
|
|
17322
|
-
},
|
|
17332
|
+
}, Pv = {
|
|
17323
17333
|
viewBox: "0 0 256 256",
|
|
17324
17334
|
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"]
|
|
17325
|
-
},
|
|
17335
|
+
}, Fv = {
|
|
17326
17336
|
viewBox: "0 0 256 256",
|
|
17327
17337
|
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"]
|
|
17328
|
-
},
|
|
17338
|
+
}, Iv = (e) => {
|
|
17329
17339
|
try {
|
|
17330
17340
|
let t = globalThis.location;
|
|
17331
17341
|
return t?.origin ? `mesurer-codex-ui:v1:${e}:${t.origin}${t.pathname}` : null;
|
|
17332
17342
|
} catch {
|
|
17333
17343
|
return null;
|
|
17334
17344
|
}
|
|
17335
|
-
},
|
|
17336
|
-
let t =
|
|
17345
|
+
}, Lv = (e) => {
|
|
17346
|
+
let t = Iv(e);
|
|
17337
17347
|
if (!t) return null;
|
|
17338
17348
|
try {
|
|
17339
17349
|
let e = globalThis.sessionStorage?.getItem(t);
|
|
@@ -17358,18 +17368,18 @@ var gv = Fd, _v = () => ({
|
|
|
17358
17368
|
} catch {
|
|
17359
17369
|
return null;
|
|
17360
17370
|
}
|
|
17361
|
-
},
|
|
17362
|
-
let n =
|
|
17371
|
+
}, Rv = (e, t) => {
|
|
17372
|
+
let n = Iv(e);
|
|
17363
17373
|
if (n) try {
|
|
17364
17374
|
globalThis.sessionStorage?.setItem(n, JSON.stringify(t));
|
|
17365
17375
|
} catch {}
|
|
17366
|
-
},
|
|
17376
|
+
}, zv = (e, t) => {
|
|
17367
17377
|
let n = e.endsWith("/") ? e : `${e}/`;
|
|
17368
17378
|
return new URL(t, n).toString();
|
|
17369
|
-
},
|
|
17379
|
+
}, Bv = async (e, t, n) => {
|
|
17370
17380
|
let r = new AbortController(), i = setTimeout(() => r.abort(), 15e3);
|
|
17371
17381
|
try {
|
|
17372
|
-
let i = await fetch(
|
|
17382
|
+
let i = await fetch(zv(e, t), {
|
|
17373
17383
|
...n,
|
|
17374
17384
|
signal: r.signal
|
|
17375
17385
|
}), a = await i.text(), o = {};
|
|
@@ -17385,10 +17395,10 @@ var gv = Fd, _v = () => ({
|
|
|
17385
17395
|
} finally {
|
|
17386
17396
|
clearTimeout(i);
|
|
17387
17397
|
}
|
|
17388
|
-
},
|
|
17398
|
+
}, Vv = (e) => ({
|
|
17389
17399
|
thread: e.thread?.trim() || null,
|
|
17390
17400
|
threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
|
|
17391
|
-
}),
|
|
17401
|
+
}), Hv = (e) => {
|
|
17392
17402
|
let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
|
|
17393
17403
|
if (!t || !n || !r) throw Error("Mesurer Codex bridge returned an invalid delivery state.");
|
|
17394
17404
|
let i = {
|
|
@@ -17400,7 +17410,7 @@ var gv = Fd, _v = () => ({
|
|
|
17400
17410
|
updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
|
|
17401
17411
|
};
|
|
17402
17412
|
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;
|
|
17403
|
-
},
|
|
17413
|
+
}, Uv = (e) => ({
|
|
17404
17414
|
thread: e.thread?.trim() || null,
|
|
17405
17415
|
threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
|
|
17406
17416
|
let t = e.id?.trim() ?? "";
|
|
@@ -17412,7 +17422,7 @@ var gv = Fd, _v = () => ({
|
|
|
17412
17422
|
}] : [];
|
|
17413
17423
|
}) : [],
|
|
17414
17424
|
hasMore: e.hasMore === !0
|
|
17415
|
-
}),
|
|
17425
|
+
}), Wv = async (e, t, n) => {
|
|
17416
17426
|
let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
|
|
17417
17427
|
let t = i.find((t) => t.id === e);
|
|
17418
17428
|
return t ? [t] : [];
|
|
@@ -17435,18 +17445,18 @@ var gv = Fd, _v = () => ({
|
|
|
17435
17445
|
])
|
|
17436
17446
|
].join("\n").trimEnd()
|
|
17437
17447
|
};
|
|
17438
|
-
},
|
|
17439
|
-
function
|
|
17440
|
-
let t = e.endpoint ??
|
|
17448
|
+
}, Gv = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, Kv = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, qv = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
|
|
17449
|
+
function Jv(e = {}) {
|
|
17450
|
+
let t = e.endpoint ?? wv, n = e.instruction?.trim() || Mv, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
|
|
17441
17451
|
return {
|
|
17442
|
-
id:
|
|
17443
|
-
version:
|
|
17444
|
-
requires: [
|
|
17445
|
-
provides: [
|
|
17452
|
+
id: xv,
|
|
17453
|
+
version: $_,
|
|
17454
|
+
requires: [Cv],
|
|
17455
|
+
provides: [Sv],
|
|
17446
17456
|
setup(e) {
|
|
17447
|
-
let a = e.service.get(
|
|
17457
|
+
let a = e.service.get(Cv);
|
|
17448
17458
|
if (!a) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
|
|
17449
|
-
let o = r ?
|
|
17459
|
+
let o = r ? Lv(t) : null, s = "unknown", c = !1, l = o?.originThread ?? null, u = o?.selectedThread ?? o?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = jv, _, v = "", y = null, b = o?.delivery ? {
|
|
17450
17460
|
id: o.delivery.id,
|
|
17451
17461
|
thread: o.delivery.thread,
|
|
17452
17462
|
status: o.delivery.status,
|
|
@@ -17454,22 +17464,22 @@ function Gv(e = {}) {
|
|
|
17454
17464
|
queuedSubmissionId: o.delivery.queuedSubmissionId ?? null,
|
|
17455
17465
|
dispatch: o.delivery.dispatch ?? null,
|
|
17456
17466
|
dispatchError: o.delivery.dispatchError ?? null
|
|
17457
|
-
} : null, x = 0, S = 0, C = null, w = !1, T = async () =>
|
|
17467
|
+
} : null, x = 0, S = 0, C = null, w = !1, T = async () => Vv(await Bv(t, "health")), E = async (e) => Hv(await Bv(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
|
|
17458
17468
|
if (!e.id || !e.thread) throw Error("Cannot restore a Codex delivery without its id and thread.");
|
|
17459
17469
|
let n = {
|
|
17460
17470
|
deliveryId: e.id,
|
|
17461
17471
|
thread: e.thread
|
|
17462
17472
|
};
|
|
17463
|
-
return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId),
|
|
17473
|
+
return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Hv(await Bv(t, "deliveries/restore", {
|
|
17464
17474
|
method: "POST",
|
|
17465
17475
|
headers: { "Content-Type": "application/json" },
|
|
17466
17476
|
body: JSON.stringify(n)
|
|
17467
17477
|
}));
|
|
17468
17478
|
}, O = async (e = {}) => {
|
|
17469
17479
|
let n = new URLSearchParams();
|
|
17470
|
-
n.set("limit", String(e.limit ??
|
|
17480
|
+
n.set("limit", String(e.limit ?? Av));
|
|
17471
17481
|
let r = e.thread?.trim();
|
|
17472
|
-
return r && n.set("thread", r),
|
|
17482
|
+
return r && n.set("thread", r), Uv(await Bv(t, `threads?${n.toString()}`));
|
|
17473
17483
|
}, k = () => u ?? l ?? (d ? null : f), A = () => {
|
|
17474
17484
|
if (!r) return;
|
|
17475
17485
|
let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
|
|
@@ -17481,7 +17491,7 @@ function Gv(e = {}) {
|
|
|
17481
17491
|
dispatch: b.dispatch,
|
|
17482
17492
|
dispatchError: b.dispatchError
|
|
17483
17493
|
} : null;
|
|
17484
|
-
|
|
17494
|
+
Rv(t, {
|
|
17485
17495
|
version: 1,
|
|
17486
17496
|
originThread: l,
|
|
17487
17497
|
selectedThread: u,
|
|
@@ -17499,12 +17509,12 @@ function Gv(e = {}) {
|
|
|
17499
17509
|
"queueing",
|
|
17500
17510
|
"queued",
|
|
17501
17511
|
"working"
|
|
17502
|
-
].includes(b.status) ?
|
|
17512
|
+
].includes(b.status) ? Pv : b.status === "completed" ? Fv : Nv : Nv, L = () => {
|
|
17503
17513
|
let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
|
|
17504
17514
|
t.has(n.id) || (t.add(n.id), e.push(n));
|
|
17505
17515
|
}, r = (e) => ({
|
|
17506
17516
|
id: e,
|
|
17507
|
-
title: `Codex ${
|
|
17517
|
+
title: `Codex ${Gv(e)}`,
|
|
17508
17518
|
updatedAt: null,
|
|
17509
17519
|
connected: !0
|
|
17510
17520
|
});
|
|
@@ -17524,7 +17534,7 @@ function Gv(e = {}) {
|
|
|
17524
17534
|
let t = e.id === l ? "Current · " : e.connected ? "Connected · " : "", r = b?.thread === e.id ? ` · ${N() ? "Blocked" : P(b.status)}` : "";
|
|
17525
17535
|
return {
|
|
17526
17536
|
id: `codex.thread.${e.id}`,
|
|
17527
|
-
label: `${t}${
|
|
17537
|
+
label: `${t}${Kv(e.title)}${r}`,
|
|
17528
17538
|
checked: () => n === e.id,
|
|
17529
17539
|
disabled: () => M(),
|
|
17530
17540
|
run() {
|
|
@@ -17532,11 +17542,11 @@ function Gv(e = {}) {
|
|
|
17532
17542
|
}
|
|
17533
17543
|
};
|
|
17534
17544
|
});
|
|
17535
|
-
return g <
|
|
17545
|
+
return g < Av && (e.length > g || h) && r.push({
|
|
17536
17546
|
id: "codex.thread.show-more",
|
|
17537
17547
|
label: "Show 5 more…",
|
|
17538
17548
|
run() {
|
|
17539
|
-
g =
|
|
17549
|
+
g = Av, B();
|
|
17540
17550
|
}
|
|
17541
17551
|
}), r;
|
|
17542
17552
|
}, B = () => {
|
|
@@ -17572,14 +17582,14 @@ function Gv(e = {}) {
|
|
|
17572
17582
|
let e = l && p.includes(l) ? l : f;
|
|
17573
17583
|
try {
|
|
17574
17584
|
let t = await O({
|
|
17575
|
-
limit:
|
|
17585
|
+
limit: Av,
|
|
17576
17586
|
thread: e ?? void 0
|
|
17577
17587
|
});
|
|
17578
17588
|
m = t.threads, h = t.hasMore;
|
|
17579
17589
|
} catch {
|
|
17580
17590
|
m = p.map((e) => ({
|
|
17581
17591
|
id: e,
|
|
17582
|
-
title: `Codex ${
|
|
17592
|
+
title: `Codex ${Gv(e)}`,
|
|
17583
17593
|
updatedAt: null,
|
|
17584
17594
|
connected: !0
|
|
17585
17595
|
})), h = !1;
|
|
@@ -17602,7 +17612,7 @@ function Gv(e = {}) {
|
|
|
17602
17612
|
}, ee = () => {
|
|
17603
17613
|
S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
|
|
17604
17614
|
S = 0, b?.status === "completed" && (b = null, A(), B());
|
|
17605
|
-
},
|
|
17615
|
+
}, Dv);
|
|
17606
17616
|
}, U = async (e) => {
|
|
17607
17617
|
if (!(!b || b.id !== e.id)) {
|
|
17608
17618
|
if (b = {
|
|
@@ -17620,14 +17630,14 @@ function Gv(e = {}) {
|
|
|
17620
17630
|
if (e.status === "interrupted") {
|
|
17621
17631
|
A(), B();
|
|
17622
17632
|
let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
|
|
17623
|
-
Date.now() - t <
|
|
17633
|
+
Date.now() - t < kv && (x = globalThis.setTimeout(() => {
|
|
17624
17634
|
x = 0, te(e.id);
|
|
17625
|
-
},
|
|
17635
|
+
}, Ov));
|
|
17626
17636
|
return;
|
|
17627
17637
|
}
|
|
17628
17638
|
B(), x = globalThis.setTimeout(() => {
|
|
17629
17639
|
x = 0, te(e.id);
|
|
17630
|
-
},
|
|
17640
|
+
}, Ev);
|
|
17631
17641
|
}
|
|
17632
17642
|
}, te = async (e) => {
|
|
17633
17643
|
if (!(w || b?.id !== e)) try {
|
|
@@ -17651,7 +17661,7 @@ function Gv(e = {}) {
|
|
|
17651
17661
|
b = {
|
|
17652
17662
|
...b,
|
|
17653
17663
|
status: "failed"
|
|
17654
|
-
}, A(),
|
|
17664
|
+
}, A(), qv(r, t) && (s = "unavailable"), B();
|
|
17655
17665
|
}
|
|
17656
17666
|
}, ne = {
|
|
17657
17667
|
health: T,
|
|
@@ -17660,7 +17670,7 @@ function Gv(e = {}) {
|
|
|
17660
17670
|
async useThread(e) {
|
|
17661
17671
|
let n = e.trim();
|
|
17662
17672
|
if (!n) throw Error("Codex thread must be a non-empty string.");
|
|
17663
|
-
let r =
|
|
17673
|
+
let r = Vv(await Bv(t, "target", {
|
|
17664
17674
|
method: "POST",
|
|
17665
17675
|
headers: { "Content-Type": "application/json" },
|
|
17666
17676
|
body: JSON.stringify({ thread: n })
|
|
@@ -17668,12 +17678,12 @@ function Gv(e = {}) {
|
|
|
17668
17678
|
return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, B(), r;
|
|
17669
17679
|
},
|
|
17670
17680
|
async send(e) {
|
|
17671
|
-
let i = await
|
|
17681
|
+
let i = await Wv(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
|
|
17672
17682
|
if (r && !o && (d || !c)) throw Error("Choose a Codex thread before queueing feedback.");
|
|
17673
17683
|
let l = { message: i.message };
|
|
17674
17684
|
c && (l.thread = c);
|
|
17675
17685
|
try {
|
|
17676
|
-
let e = await
|
|
17686
|
+
let e = await Bv(t, "send", {
|
|
17677
17687
|
method: "POST",
|
|
17678
17688
|
headers: { "Content-Type": "application/json" },
|
|
17679
17689
|
body: JSON.stringify(l)
|
|
@@ -17689,11 +17699,11 @@ function Gv(e = {}) {
|
|
|
17689
17699
|
};
|
|
17690
17700
|
return e.queuedSubmissionId !== void 0 && (r.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (r.dispatch = e.dispatch), e.dispatchError !== void 0 && (r.dispatchError = e.dispatchError?.trim() || null), r;
|
|
17691
17701
|
} catch (e) {
|
|
17692
|
-
throw r &&
|
|
17702
|
+
throw r && qv(e, t) && (s = "unavailable", B()), e;
|
|
17693
17703
|
}
|
|
17694
17704
|
}
|
|
17695
17705
|
};
|
|
17696
|
-
if (e.service.provide(
|
|
17706
|
+
if (e.service.provide(Sv, ne), e.command.register("codex.send", async () => {
|
|
17697
17707
|
if (!(C || M())) return H(), b = {
|
|
17698
17708
|
id: null,
|
|
17699
17709
|
thread: k(),
|
|
@@ -17723,9 +17733,9 @@ function Gv(e = {}) {
|
|
|
17723
17733
|
updatedAt: 0
|
|
17724
17734
|
}) : x = globalThis.setTimeout(() => {
|
|
17725
17735
|
x = 0, te(e.deliveryId);
|
|
17726
|
-
},
|
|
17736
|
+
}, Ev) : S = globalThis.setTimeout(() => {
|
|
17727
17737
|
S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), B());
|
|
17728
|
-
},
|
|
17738
|
+
}, Dv);
|
|
17729
17739
|
} catch (e) {
|
|
17730
17740
|
b = null, A(), B();
|
|
17731
17741
|
let t = e instanceof Error ? e.message : String(e);
|
|
@@ -17740,7 +17750,7 @@ function Gv(e = {}) {
|
|
|
17740
17750
|
}, 0));
|
|
17741
17751
|
let t = globalThis.setInterval(() => {
|
|
17742
17752
|
c && R().catch(() => void 0);
|
|
17743
|
-
},
|
|
17753
|
+
}, Tv);
|
|
17744
17754
|
e.lifecycle.onDispose(() => {
|
|
17745
17755
|
w = !0, H(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
|
|
17746
17756
|
});
|
|
@@ -17750,41 +17760,41 @@ function Gv(e = {}) {
|
|
|
17750
17760
|
}
|
|
17751
17761
|
//#endregion
|
|
17752
17762
|
//#region src/plugin-catalog.ts
|
|
17753
|
-
var
|
|
17763
|
+
var Yv = [
|
|
17754
17764
|
{
|
|
17755
|
-
id:
|
|
17765
|
+
id: ev,
|
|
17756
17766
|
label: "Context",
|
|
17757
17767
|
order: 30,
|
|
17758
|
-
create:
|
|
17768
|
+
create: dv,
|
|
17759
17769
|
settingsIds: ["context"],
|
|
17760
17770
|
hiddenSettingsControlIds: ["ui"]
|
|
17761
17771
|
},
|
|
17762
17772
|
{
|
|
17763
|
-
id:
|
|
17773
|
+
id: yv,
|
|
17764
17774
|
label: "Arrange",
|
|
17765
17775
|
order: 35,
|
|
17766
|
-
create:
|
|
17776
|
+
create: bv,
|
|
17767
17777
|
settingsIds: ["arrange"]
|
|
17768
17778
|
},
|
|
17769
17779
|
{
|
|
17770
|
-
id:
|
|
17780
|
+
id: qg,
|
|
17771
17781
|
label: "Screenshot",
|
|
17772
17782
|
order: 40,
|
|
17773
17783
|
create: (e = {}) => ({
|
|
17774
|
-
...
|
|
17775
|
-
version:
|
|
17784
|
+
...p_(e),
|
|
17785
|
+
version: $_
|
|
17776
17786
|
}),
|
|
17777
17787
|
settingsIds: ["screenshot"],
|
|
17778
17788
|
hiddenSettingsControlIds: ["tool"]
|
|
17779
17789
|
},
|
|
17780
17790
|
{
|
|
17781
|
-
id:
|
|
17791
|
+
id: xv,
|
|
17782
17792
|
label: "Codex",
|
|
17783
17793
|
order: 45,
|
|
17784
|
-
create:
|
|
17794
|
+
create: Jv
|
|
17785
17795
|
}
|
|
17786
|
-
],
|
|
17787
|
-
let t = e !== void 0, n = new Map((e ?? []).map((e) => [e.id, e])), r = new Set(
|
|
17796
|
+
], Xv = (e) => {
|
|
17797
|
+
let t = e !== void 0, n = new Map((e ?? []).map((e) => [e.id, e])), r = new Set(Yv.map((e) => e.id)), i = Yv.map((e) => {
|
|
17788
17798
|
let r = n.get(e.id);
|
|
17789
17799
|
return {
|
|
17790
17800
|
...e,
|
|
@@ -17801,23 +17811,23 @@ var Kv = [
|
|
|
17801
17811
|
create: () => n
|
|
17802
17812
|
});
|
|
17803
17813
|
return i;
|
|
17804
|
-
},
|
|
17805
|
-
function
|
|
17806
|
-
return
|
|
17814
|
+
}, Zv = (e) => e;
|
|
17815
|
+
function Qv() {
|
|
17816
|
+
return z_();
|
|
17807
17817
|
}
|
|
17808
|
-
async function
|
|
17809
|
-
let t =
|
|
17818
|
+
async function $v(e = {}) {
|
|
17819
|
+
let t = Qv();
|
|
17810
17820
|
for (let n of e.plugins ?? []) await t.load(n);
|
|
17811
17821
|
return t;
|
|
17812
17822
|
}
|
|
17813
17823
|
//#endregion
|
|
17814
17824
|
//#region src/index.tsx
|
|
17815
|
-
var
|
|
17816
|
-
function
|
|
17825
|
+
var ey = "arrange";
|
|
17826
|
+
function ty(e = {}) {
|
|
17817
17827
|
if (!("document" in globalThis)) throw Error("mountMesurer() requires a browser or Electron renderer document.");
|
|
17818
17828
|
let { target: t = document.body, isolate: n = !0, shadowMode: r = "open", topLayer: i = !0, agent: a = !1, onPluginHost: o, onPluginsReady: s, plugins: c, ...l } = e, u = t.ownerDocument ?? document, d = u.defaultView ?? window, f = u.createElement("div");
|
|
17819
17829
|
f.dataset.mesurerIsland = "true";
|
|
17820
|
-
let p =
|
|
17830
|
+
let p = vv(f, t, i), m = f, h = f, g = f;
|
|
17821
17831
|
if (n) {
|
|
17822
17832
|
let e = f.attachShadow({ mode: r });
|
|
17823
17833
|
h = u.createElement("div"), h.dataset.mesurerIslandMount = "true", e.append(h), m = e, g = e;
|
|
@@ -17826,19 +17836,19 @@ function Qv(e = {}) {
|
|
|
17826
17836
|
v = e;
|
|
17827
17837
|
}), S = new Promise((e) => {
|
|
17828
17838
|
y = e;
|
|
17829
|
-
}), C = async () => (await (_ ? Promise.resolve(_) : x), S), w = a === !0 ? {} : a === !1 ? null : a, T =
|
|
17839
|
+
}), C = async () => (await (_ ? Promise.resolve(_) : x), S), w = a === !0 ? {} : a === !1 ? null : a, T = k_({
|
|
17830
17840
|
ownerDocument: u,
|
|
17831
17841
|
root: w?.root ?? (t.nodeType === 11 ? t : u),
|
|
17832
17842
|
getPluginHost: () => _,
|
|
17833
17843
|
waitForPluginHost: C
|
|
17834
17844
|
}), E = async () => {
|
|
17835
17845
|
await T.ready();
|
|
17836
|
-
let e = _?.service.get(
|
|
17846
|
+
let e = _?.service.get(tv);
|
|
17837
17847
|
if (!e) throw Error("Mesurer Context is disabled. Enable it in Settings or include context() in plugins.");
|
|
17838
17848
|
return e;
|
|
17839
17849
|
}, D = async () => {
|
|
17840
17850
|
await T.ready();
|
|
17841
|
-
let e = _?.service.get(
|
|
17851
|
+
let e = _?.service.get(ey);
|
|
17842
17852
|
if (!e) throw Error("Mesurer Arrange is disabled. Enable it in Settings or include arrange() in plugins.");
|
|
17843
17853
|
return e;
|
|
17844
17854
|
}, O = async (e) => (await E()).context(e), k = async (e) => (await E()).contextText(e), A = async (e) => (await E()).copyContext(e), j = async (e) => (await E()).select(e), M = async () => (await E()).annotations(), N = async (e) => (await E()).review(e), P = async (e) => (await E()).capturePlan(e), F = async () => (await E()).prepareCapture(), I = async () => (await E()).finishCapture(), L = async () => (await D()).intents(), R = async (e) => {
|
|
@@ -17849,7 +17859,7 @@ function Qv(e = {}) {
|
|
|
17849
17859
|
(await D()).show(e, t);
|
|
17850
17860
|
}, B = async (e, t) => (await D()).capturePlan(e, t), V = async (e, t) => (await D()).review(e, t), H = () => T.textEdits(), ee = (e) => T.textEdit(e), U = Object.assign(T, {
|
|
17851
17861
|
capabilities: () => {
|
|
17852
|
-
let e = !!_?.service.get(
|
|
17862
|
+
let e = !!_?.service.get(tv);
|
|
17853
17863
|
return {
|
|
17854
17864
|
protocol: "mesurer.agent/v1",
|
|
17855
17865
|
contextSchema: "mesurer.context/v1",
|
|
@@ -17859,8 +17869,8 @@ function Qv(e = {}) {
|
|
|
17859
17869
|
annotations: e,
|
|
17860
17870
|
review: e,
|
|
17861
17871
|
capturePlan: e,
|
|
17862
|
-
arrange: !!_?.service.get(
|
|
17863
|
-
textEdit: !!_?.service.get(
|
|
17872
|
+
arrange: !!_?.service.get(ey),
|
|
17873
|
+
textEdit: !!_?.service.get(D_)
|
|
17864
17874
|
}
|
|
17865
17875
|
};
|
|
17866
17876
|
},
|
|
@@ -17879,9 +17889,9 @@ function Qv(e = {}) {
|
|
|
17879
17889
|
reviewArrange: V
|
|
17880
17890
|
}), te = {
|
|
17881
17891
|
...l,
|
|
17882
|
-
version:
|
|
17883
|
-
plugins:
|
|
17884
|
-
}, ne = _i(() => Rr(
|
|
17892
|
+
version: $_,
|
|
17893
|
+
plugins: Xv(c)
|
|
17894
|
+
}, ne = _i(() => Rr(Xh, gi(te, {
|
|
17885
17895
|
portalTarget: g,
|
|
17886
17896
|
pageTarget: t,
|
|
17887
17897
|
onPluginHost: (e) => {
|
|
@@ -17930,6 +17940,6 @@ function Qv(e = {}) {
|
|
|
17930
17940
|
}
|
|
17931
17941
|
};
|
|
17932
17942
|
}
|
|
17933
|
-
var
|
|
17943
|
+
var ny = ty;
|
|
17934
17944
|
//#endregion
|
|
17935
|
-
export {
|
|
17945
|
+
export { D_ as MESURER_TEXT_EDIT_SERVICE_ID, $_ as MESURER_VERSION, W_ as captureMesurerContext, Q_ as copyTextToClipboard, k_ as createMesurerAgentHarness, J_ as createMesurerCapturePlan, Qv as createMesurerPluginHost, $v as createMesurerRuntime, Zv as defineMesurerPlugin, q_ as formatMesurerContext, ny as mountMeasurer, ty as mountMesurer, Z_ as reviewMesurerAnnotation };
|