mesurer-solid 0.2.3-beta.6 → 0.2.3-beta.7
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/context.d.ts +15 -0
- package/dist/index.js +1044 -920
- package/dist/inject-script.js +9 -9
- package/dist/inject.js +1040 -916
- package/dist/plugins.js +104 -96
- package/package.json +1 -1
- package/skills/mesurer-ui/SKILL.md +1 -1
package/dist/index.js
CHANGED
|
@@ -5015,23 +5015,27 @@ var Hl = /* @__PURE__ */ new WeakMap(), Ul = (e) => {
|
|
|
5015
5015
|
let n = Ul(e);
|
|
5016
5016
|
for (let e of t.listeners) e(n);
|
|
5017
5017
|
}, Gl = (e) => {
|
|
5018
|
-
let t = Hl.get(e);
|
|
5018
|
+
let t = Hl.get(e.document);
|
|
5019
5019
|
if (t) return t;
|
|
5020
|
-
let n = e.history, r = n.pushState, i = n.replaceState, a = {
|
|
5020
|
+
let n = e.history, r = n.pushState, i = n.replaceState, a = e.removeEventListener.bind(e), o = {
|
|
5021
|
+
document: e.document,
|
|
5022
|
+
releaseNativeListeners: () => {
|
|
5023
|
+
a("popstate", o.handleNativeChange), a("hashchange", o.handleNativeChange);
|
|
5024
|
+
},
|
|
5021
5025
|
listeners: /* @__PURE__ */ new Set(),
|
|
5022
5026
|
pushState: r,
|
|
5023
5027
|
replaceState: i,
|
|
5024
|
-
handleNativeChange: () => Wl(e,
|
|
5028
|
+
handleNativeChange: () => Wl(e, o)
|
|
5025
5029
|
};
|
|
5026
5030
|
return n.pushState = function(...t) {
|
|
5027
5031
|
let n = r.apply(this, t);
|
|
5028
|
-
return Wl(e,
|
|
5032
|
+
return Wl(e, o), n;
|
|
5029
5033
|
}, n.replaceState = function(...t) {
|
|
5030
5034
|
let n = i.apply(this, t);
|
|
5031
|
-
return Wl(e,
|
|
5032
|
-
}, e.addEventListener("popstate",
|
|
5035
|
+
return Wl(e, o), n;
|
|
5036
|
+
}, e.addEventListener("popstate", o.handleNativeChange), e.addEventListener("hashchange", o.handleNativeChange), Hl.set(e.document, o), o;
|
|
5033
5037
|
}, Kl = (e, t) => {
|
|
5034
|
-
t.listeners.size > 0 || Hl.get(
|
|
5038
|
+
t.listeners.size > 0 || Hl.get(t.document) !== t || (t.document.defaultView === e && (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState), t.releaseNativeListeners(), Hl.delete(t.document));
|
|
5035
5039
|
}, ql = (e, t) => {
|
|
5036
5040
|
let n = Gl(e);
|
|
5037
5041
|
n.listeners.add(t);
|
|
@@ -6408,6 +6412,7 @@ function Jd(e) {
|
|
|
6408
6412
|
let p = n.querySelector("[aria-label=\"Remove preview\"]");
|
|
6409
6413
|
p && (p.disabled = a.length <= 1);
|
|
6410
6414
|
}
|
|
6415
|
+
n.dispatchEvent(new CustomEvent("mesurer:responsive-stage-change"));
|
|
6411
6416
|
}, I = (t) => {
|
|
6412
6417
|
if (a.length <= 1) return;
|
|
6413
6418
|
let r = _.get(t);
|
|
@@ -6520,7 +6525,7 @@ function Jd(e) {
|
|
|
6520
6525
|
overflow: "hidden"
|
|
6521
6526
|
});
|
|
6522
6527
|
let j = t.createElement("iframe");
|
|
6523
|
-
j.dataset.mesurerResponsiveFrame = "true", j.title = `${r.name} preview`, j.setAttribute("sandbox", kl), j.src = n.location.href, Gd(j, {
|
|
6528
|
+
j.dataset.mesurerResponsiveFrame = "true", j.dataset.mesurerResponsivePreviewId = String(r.id), j.title = `${r.name} preview`, j.setAttribute("sandbox", kl), j.src = n.location.href, Gd(j, {
|
|
6524
6529
|
display: "block",
|
|
6525
6530
|
border: "0",
|
|
6526
6531
|
transformOrigin: "top left",
|
|
@@ -20226,29 +20231,84 @@ function jC(e, t) {
|
|
|
20226
20231
|
let { runtime: n } = Zb(t);
|
|
20227
20232
|
AS(e, n), yC(e, n), Rx(e, tC(e, n)), CS(e, n), pC(e, n), LS(e, n, t.portalTarget), Ux(e, n, t), jS(e, n), AC(e, n), bC(e, n), Yb(e, n), ax(e, n), hS(e, n, t.portalTarget), $S(e, n, t.portalTarget);
|
|
20228
20233
|
}
|
|
20229
|
-
|
|
20234
|
+
function MC(e) {
|
|
20235
|
+
let t = e, n = [];
|
|
20236
|
+
for (;;) {
|
|
20237
|
+
let e = t.getRootNode();
|
|
20238
|
+
if ("host" in e) {
|
|
20239
|
+
let r = e.host;
|
|
20240
|
+
n.unshift({
|
|
20241
|
+
kind: "shadow",
|
|
20242
|
+
selector: bu(r)
|
|
20243
|
+
}), t = r;
|
|
20244
|
+
continue;
|
|
20245
|
+
}
|
|
20246
|
+
let r = t.ownerDocument, i = r.defaultView?.frameElement;
|
|
20247
|
+
if (!i) return {};
|
|
20248
|
+
if (i.hasAttribute("data-mesurer-responsive-frame")) {
|
|
20249
|
+
let e = r.defaultView;
|
|
20250
|
+
return {
|
|
20251
|
+
viewport: {
|
|
20252
|
+
url: e.location.href.split("#")[0],
|
|
20253
|
+
width: e.innerWidth,
|
|
20254
|
+
height: e.innerHeight,
|
|
20255
|
+
previewId: i.getAttribute("data-mesurer-responsive-preview-id")
|
|
20256
|
+
},
|
|
20257
|
+
domPath: n
|
|
20258
|
+
};
|
|
20259
|
+
}
|
|
20260
|
+
n.unshift({
|
|
20261
|
+
kind: "frame",
|
|
20262
|
+
selector: bu(i)
|
|
20263
|
+
}), t = i;
|
|
20264
|
+
}
|
|
20265
|
+
}
|
|
20266
|
+
function NC(e, t) {
|
|
20267
|
+
let n = t.viewport;
|
|
20268
|
+
if (!n || !e) return null;
|
|
20269
|
+
let r = [...e.querySelectorAll("iframe[data-mesurer-responsive-frame]")].filter((e) => {
|
|
20270
|
+
let t = zu(e)?.defaultView;
|
|
20271
|
+
return t && t.location.href.split("#")[0] === n.url && t.innerWidth === n.width && t.innerHeight === n.height;
|
|
20272
|
+
}), i = r.find((e) => e.getAttribute("data-mesurer-responsive-preview-id") === n.previewId) ?? (r.length === 1 ? r[0] : void 0), a = i ? zu(i) : null;
|
|
20273
|
+
for (let e of t.domPath ?? []) {
|
|
20274
|
+
let t = a?.querySelectorAll(e.selector);
|
|
20275
|
+
if (t?.length !== 1) return null;
|
|
20276
|
+
a = e.kind === "frame" ? zu(t[0]) : t[0].shadowRoot;
|
|
20277
|
+
}
|
|
20278
|
+
return a;
|
|
20279
|
+
}
|
|
20280
|
+
function PC(e) {
|
|
20281
|
+
return [...e?.querySelectorAll("iframe[data-mesurer-responsive-frame]") ?? []].flatMap((e) => {
|
|
20282
|
+
let t = zu(e);
|
|
20283
|
+
return t ? S_(t) : [];
|
|
20284
|
+
});
|
|
20285
|
+
}
|
|
20286
|
+
var FC = 1, IC = (e, t) => {
|
|
20230
20287
|
if (!t) return [];
|
|
20231
20288
|
try {
|
|
20232
20289
|
let n = e.sessionStorage.getItem(t);
|
|
20233
20290
|
if (!n) return [];
|
|
20234
20291
|
let r = JSON.parse(n);
|
|
20235
|
-
return r.version !==
|
|
20292
|
+
return r.version !== FC || !Array.isArray(r.annotations) ? [] : r.annotations.map(LC);
|
|
20236
20293
|
} catch {
|
|
20237
20294
|
return [];
|
|
20238
20295
|
}
|
|
20239
|
-
},
|
|
20296
|
+
}, LC = (e) => ({
|
|
20240
20297
|
...e,
|
|
20241
20298
|
anchor: e.anchor.kind === "elements" ? {
|
|
20242
20299
|
kind: "elements",
|
|
20243
20300
|
region: e.anchor.region ? uc(e.anchor.region) : null,
|
|
20244
|
-
targets: e.anchor.targets.map((e) =>
|
|
20245
|
-
|
|
20246
|
-
|
|
20247
|
-
|
|
20248
|
-
|
|
20249
|
-
|
|
20250
|
-
|
|
20251
|
-
|
|
20301
|
+
targets: e.anchor.targets.map((e) => {
|
|
20302
|
+
let t = {
|
|
20303
|
+
...e,
|
|
20304
|
+
fingerprint: {
|
|
20305
|
+
...e.fingerprint,
|
|
20306
|
+
classes: [...e.fingerprint.classes]
|
|
20307
|
+
},
|
|
20308
|
+
lastRect: uc(e.lastRect)
|
|
20309
|
+
};
|
|
20310
|
+
return e.viewport && (t.viewport = { ...e.viewport }), e.domPath && (t.domPath = e.domPath.map((e) => ({ ...e }))), t;
|
|
20311
|
+
})
|
|
20252
20312
|
} : {
|
|
20253
20313
|
kind: "region",
|
|
20254
20314
|
rect: uc(e.anchor.rect)
|
|
@@ -20271,7 +20331,7 @@ var MC = 1, NC = (e, t) => {
|
|
|
20271
20331
|
vertical: e.vertical ? { ...e.vertical } : null
|
|
20272
20332
|
}))
|
|
20273
20333
|
}
|
|
20274
|
-
}),
|
|
20334
|
+
}), RC = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, zC = (e) => {
|
|
20275
20335
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
20276
20336
|
for (let r of e.current.selectedMeasurements) {
|
|
20277
20337
|
let e = r.elementRef;
|
|
@@ -20280,7 +20340,7 @@ var MC = 1, NC = (e, t) => {
|
|
|
20280
20340
|
let r = e.current.selectedMeasurement?.elementRef;
|
|
20281
20341
|
return r?.isConnected && !t.has(r) && n.push(r), n;
|
|
20282
20342
|
};
|
|
20283
|
-
function
|
|
20343
|
+
function BC(e) {
|
|
20284
20344
|
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 = Ul(r), u = () => e.persistenceKey ? `${e.persistenceKey}:${l}` : void 0, d = () => e.persistenceKey ? `${e.persistenceKey}${r.location.pathname}` : void 0, f = () => {
|
|
20285
20345
|
let e = u();
|
|
20286
20346
|
if (!e) return {
|
|
@@ -20289,7 +20349,7 @@ function LC(e) {
|
|
|
20289
20349
|
};
|
|
20290
20350
|
try {
|
|
20291
20351
|
if (r.sessionStorage.getItem(e) !== null) return {
|
|
20292
|
-
annotations:
|
|
20352
|
+
annotations: IC(r, e),
|
|
20293
20353
|
migrated: !1
|
|
20294
20354
|
};
|
|
20295
20355
|
} catch {
|
|
@@ -20303,14 +20363,14 @@ function LC(e) {
|
|
|
20303
20363
|
annotations: [],
|
|
20304
20364
|
migrated: !1
|
|
20305
20365
|
};
|
|
20306
|
-
let n =
|
|
20366
|
+
let n = IC(r, t);
|
|
20307
20367
|
return {
|
|
20308
20368
|
annotations: n,
|
|
20309
20369
|
migrated: n.length > 0
|
|
20310
20370
|
};
|
|
20311
|
-
}, p = f(), m = p.annotations, h = p.migrated, g = /* @__PURE__ */ new Set(), _ = /* @__PURE__ */ new Map(), v = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map(), b = !1, x = 0, S = /* @__PURE__ */ new Map(), C = !1,
|
|
20371
|
+
}, p = f(), m = p.annotations, h = p.migrated, g = /* @__PURE__ */ new Set(), _ = /* @__PURE__ */ new Map(), v = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map(), b = !1, x = 0, S = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Map(), w = !1, T = (e, t) => `${e}:${t}`, E = (e) => w_(e, o) || PC(i).includes(e.ownerDocument), D = (e, t) => t.viewport ? e.getRootNode() === NC(i, t) : !C_(e.ownerDocument), O = (e) => {
|
|
20312
20372
|
let t = [], r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
20313
|
-
r.has(e) || !
|
|
20373
|
+
r.has(e) || !E(e) || (r.add(e), t.push(e));
|
|
20314
20374
|
};
|
|
20315
20375
|
o instanceof a.HTMLElement && o.matches(e) && i(o);
|
|
20316
20376
|
for (let t of S_(o)) {
|
|
@@ -20318,7 +20378,7 @@ function LC(e) {
|
|
|
20318
20378
|
for (let t of r.querySelectorAll(e)) i(t);
|
|
20319
20379
|
}
|
|
20320
20380
|
return t;
|
|
20321
|
-
},
|
|
20381
|
+
}, k = () => {
|
|
20322
20382
|
let e = u();
|
|
20323
20383
|
if (e) try {
|
|
20324
20384
|
if (m.length === 0) {
|
|
@@ -20326,19 +20386,20 @@ function LC(e) {
|
|
|
20326
20386
|
return;
|
|
20327
20387
|
}
|
|
20328
20388
|
r.sessionStorage.setItem(e, JSON.stringify({
|
|
20329
|
-
version:
|
|
20330
|
-
annotations: m.map(
|
|
20389
|
+
version: FC,
|
|
20390
|
+
annotations: m.map(LC)
|
|
20331
20391
|
}));
|
|
20332
20392
|
} catch {}
|
|
20333
20393
|
};
|
|
20334
|
-
h &&= (
|
|
20335
|
-
let
|
|
20394
|
+
h &&= (k(), !1);
|
|
20395
|
+
let A = () => {
|
|
20336
20396
|
for (let e of g) e();
|
|
20337
|
-
},
|
|
20397
|
+
}, j = (e) => {
|
|
20338
20398
|
if (!Su(e.fingerprint)) return null;
|
|
20339
20399
|
let t = [];
|
|
20340
20400
|
try {
|
|
20341
|
-
|
|
20401
|
+
let n = e.viewport ? NC(i, e) : null;
|
|
20402
|
+
t = e.viewport ? [...n?.querySelectorAll(e.selector) ?? []] : O(e.selector).filter((t) => D(t, e));
|
|
20342
20403
|
} catch {
|
|
20343
20404
|
return null;
|
|
20344
20405
|
}
|
|
@@ -20347,41 +20408,82 @@ function LC(e) {
|
|
|
20347
20408
|
if (t.length !== 1 || e.fingerprint.id || e.fingerprint.testId) return null;
|
|
20348
20409
|
let r = t[0];
|
|
20349
20410
|
if (!r || r.localName !== e.fingerprint.tag) return null;
|
|
20350
|
-
let
|
|
20351
|
-
return Math.abs(
|
|
20352
|
-
},
|
|
20353
|
-
let n =
|
|
20354
|
-
if (r?.isConnected &&
|
|
20411
|
+
let a = Qu(r), o = e.lastRect, s = Math.max(4, Math.max(o.width, o.height) * .05), c = Math.max(2, Math.max(o.width, o.height) * .03);
|
|
20412
|
+
return Math.abs(a.left - o.left) <= s && Math.abs(a.top - o.top) <= s && Math.abs(a.width - o.width) <= c && Math.abs(a.height - o.height) <= c ? r : null;
|
|
20413
|
+
}, M = (e, t) => {
|
|
20414
|
+
let n = T(e, t.id), r = v.get(n);
|
|
20415
|
+
if (r?.isConnected && E(r) && D(r, t)) return r;
|
|
20355
20416
|
r && v.delete(n);
|
|
20356
|
-
let i =
|
|
20417
|
+
let i = j(t);
|
|
20357
20418
|
return i && v.set(n, i), i;
|
|
20358
|
-
},
|
|
20419
|
+
}, N = () => {
|
|
20359
20420
|
let e = !1;
|
|
20360
20421
|
for (let t of m) if (t.anchor.kind === "elements") for (let n of t.anchor.targets) {
|
|
20361
|
-
let r =
|
|
20422
|
+
let r = T(t.id, n.id), i = M(t.id, n), a = !!i;
|
|
20362
20423
|
if (y.get(r) !== a && (y.set(r, a), e = !0), !i) continue;
|
|
20363
20424
|
let o = Qu(i);
|
|
20364
20425
|
(o.left !== n.lastRect.left || o.top !== n.lastRect.top || o.width !== n.lastRect.width || o.height !== n.lastRect.height) && (n.lastRect = o, e = !0);
|
|
20365
20426
|
}
|
|
20366
|
-
e && (
|
|
20367
|
-
},
|
|
20427
|
+
e && (k(), A());
|
|
20428
|
+
}, P = () => {
|
|
20368
20429
|
x || b || m.length === 0 || (x = r.requestAnimationFrame(() => {
|
|
20369
|
-
x = 0,
|
|
20430
|
+
x = 0, N();
|
|
20370
20431
|
}));
|
|
20371
|
-
},
|
|
20432
|
+
}, F = (e) => {
|
|
20372
20433
|
let t = S.get(e);
|
|
20373
|
-
t && (e.removeEventListener("load", t.load, !0), e.removeEventListener("scroll",
|
|
20374
|
-
},
|
|
20375
|
-
|
|
20376
|
-
let
|
|
20434
|
+
t && (e.removeEventListener("load", t.load, !0), e.removeEventListener("scroll", P, !0), t.removeResizeListener(), t.unsubscribeLocation(), t.observer?.disconnect(), S.delete(e));
|
|
20435
|
+
}, I = () => {
|
|
20436
|
+
let e = /* @__PURE__ */ new Set();
|
|
20437
|
+
for (let t of m) if (t.anchor.kind === "elements") for (let n of t.anchor.targets) {
|
|
20438
|
+
if (!n.viewport) continue;
|
|
20439
|
+
let t = NC(i, {
|
|
20440
|
+
...n,
|
|
20441
|
+
domPath: []
|
|
20442
|
+
});
|
|
20443
|
+
for (let r of n.domPath ?? []) {
|
|
20444
|
+
let n = t?.querySelectorAll(r.selector);
|
|
20445
|
+
if (n?.length !== 1) break;
|
|
20446
|
+
let i = n[0], a = r.kind === "shadow" ? i.shadowRoot : null;
|
|
20447
|
+
t = r.kind === "frame" ? zu(i) : a, a && e.add(a);
|
|
20448
|
+
}
|
|
20449
|
+
}
|
|
20450
|
+
for (let t of e) {
|
|
20451
|
+
if (C.has(t)) continue;
|
|
20452
|
+
let e = t.ownerDocument.defaultView?.MutationObserver;
|
|
20453
|
+
if (!e) continue;
|
|
20454
|
+
let n = new e(() => {
|
|
20455
|
+
L(), P();
|
|
20456
|
+
});
|
|
20457
|
+
n.observe(t, {
|
|
20458
|
+
childList: !0,
|
|
20459
|
+
subtree: !0,
|
|
20460
|
+
attributes: !0,
|
|
20461
|
+
attributeFilter: [
|
|
20462
|
+
"id",
|
|
20463
|
+
"class",
|
|
20464
|
+
"data-testid",
|
|
20465
|
+
"role",
|
|
20466
|
+
"aria-label",
|
|
20467
|
+
"style"
|
|
20468
|
+
]
|
|
20469
|
+
}), C.set(t, n);
|
|
20470
|
+
}
|
|
20471
|
+
for (let [t, n] of C) e.has(t) || (n.disconnect(), C.delete(t));
|
|
20472
|
+
}, L = () => {
|
|
20473
|
+
if (!w) return;
|
|
20474
|
+
let e = /* @__PURE__ */ new Set([...S_(o), ...PC(i)]);
|
|
20377
20475
|
for (let t of e) {
|
|
20378
20476
|
if (S.has(t)) continue;
|
|
20379
20477
|
let e = () => {
|
|
20380
|
-
|
|
20478
|
+
L(), P();
|
|
20381
20479
|
}, n = t.defaultView?.MutationObserver, r = n && t.body ? new n(() => {
|
|
20382
|
-
|
|
20480
|
+
L(), I(), P();
|
|
20383
20481
|
}) : null;
|
|
20384
|
-
t.addEventListener("load", e, !0), t.addEventListener("scroll",
|
|
20482
|
+
t.addEventListener("load", e, !0), t.addEventListener("scroll", P, !0);
|
|
20483
|
+
let i = t.defaultView;
|
|
20484
|
+
i?.addEventListener("resize", P);
|
|
20485
|
+
let a = i?.removeEventListener.bind(i);
|
|
20486
|
+
r?.observe(t.body, {
|
|
20385
20487
|
childList: !0,
|
|
20386
20488
|
subtree: !0,
|
|
20387
20489
|
attributes: !0,
|
|
@@ -20395,40 +20497,47 @@ function LC(e) {
|
|
|
20395
20497
|
]
|
|
20396
20498
|
}), S.set(t, {
|
|
20397
20499
|
load: e,
|
|
20398
|
-
observer: r
|
|
20500
|
+
observer: r,
|
|
20501
|
+
removeResizeListener: () => a?.("resize", P),
|
|
20502
|
+
unsubscribeLocation: t.defaultView && C_(t) ? ql(t.defaultView, P) : () => {}
|
|
20399
20503
|
});
|
|
20400
20504
|
}
|
|
20401
|
-
for (let t of S.keys()) e.has(t) ||
|
|
20402
|
-
|
|
20403
|
-
|
|
20404
|
-
|
|
20405
|
-
|
|
20406
|
-
|
|
20407
|
-
|
|
20408
|
-
|
|
20505
|
+
for (let t of S.keys()) e.has(t) || F(t);
|
|
20506
|
+
I();
|
|
20507
|
+
}, R = () => {
|
|
20508
|
+
b || m.length === 0 || (w = !0, L());
|
|
20509
|
+
}, z = () => {
|
|
20510
|
+
if (w) {
|
|
20511
|
+
w = !1;
|
|
20512
|
+
for (let e of S.keys()) F(e);
|
|
20513
|
+
for (let e of C.values()) e.disconnect();
|
|
20514
|
+
C.clear(), x && r.cancelAnimationFrame(x), x = 0;
|
|
20409
20515
|
}
|
|
20516
|
+
}, B = () => {
|
|
20517
|
+
L(), N(), A();
|
|
20410
20518
|
};
|
|
20411
|
-
m.length > 0 && (
|
|
20412
|
-
let
|
|
20519
|
+
r.addEventListener("mesurer:responsive-stage-change", B), i?.addEventListener("scroll", P, !0), m.length > 0 && (N(), R());
|
|
20520
|
+
let V = ql(r, (e) => {
|
|
20413
20521
|
if (e === l || b) return;
|
|
20414
|
-
|
|
20522
|
+
k(), z(), v.clear(), y.clear(), l = e, m.length = 0;
|
|
20415
20523
|
let t = f();
|
|
20416
|
-
m.push(...t.annotations), t.migrated &&
|
|
20417
|
-
}),
|
|
20524
|
+
m.push(...t.annotations), t.migrated && k(), m.length > 0 && (N(), R()), A();
|
|
20525
|
+
}), ee = t.subscribe(A), H = () => ({
|
|
20418
20526
|
guides: t.current.guides,
|
|
20419
20527
|
measurements: t.current.measurements,
|
|
20420
20528
|
activeMeasurement: t.current.activeMeasurement,
|
|
20421
20529
|
distances: t.current.heldDistances
|
|
20422
|
-
}),
|
|
20530
|
+
}), U = (e) => gc({
|
|
20423
20531
|
...e,
|
|
20424
|
-
workspace:
|
|
20532
|
+
workspace: H(),
|
|
20425
20533
|
guideTolerance: 10
|
|
20426
|
-
}),
|
|
20534
|
+
}), W = (e, t) => ({
|
|
20427
20535
|
id: `target-${t + 1}`,
|
|
20428
20536
|
selector: bu(e),
|
|
20429
20537
|
fingerprint: xu(e),
|
|
20430
|
-
lastRect: Qu(e)
|
|
20431
|
-
|
|
20538
|
+
lastRect: Qu(e),
|
|
20539
|
+
...MC(e)
|
|
20540
|
+
}), te = (e) => {
|
|
20432
20541
|
let n = [], i = /* @__PURE__ */ new Set();
|
|
20433
20542
|
for (let t of e) {
|
|
20434
20543
|
let e = t.trim();
|
|
@@ -20438,7 +20547,7 @@ function LC(e) {
|
|
|
20438
20547
|
let a = n.map((e) => {
|
|
20439
20548
|
let t;
|
|
20440
20549
|
try {
|
|
20441
|
-
t =
|
|
20550
|
+
t = O(e);
|
|
20442
20551
|
} catch {
|
|
20443
20552
|
throw Error(`Invalid Mesurer selection selector: ${e}`);
|
|
20444
20553
|
}
|
|
@@ -20449,38 +20558,39 @@ function LC(e) {
|
|
|
20449
20558
|
t.checkpoint(), t.setEnabled(!0), t.setToolMode("select");
|
|
20450
20559
|
let o = a.map((e) => sd(e, r));
|
|
20451
20560
|
return t.setSelectedMeasurements(o, o.at(-1) ?? null), t.setTransient({ selectionOriginRect: null }), a;
|
|
20452
|
-
},
|
|
20453
|
-
let i = t[r], a =
|
|
20454
|
-
i &&
|
|
20455
|
-
}),
|
|
20561
|
+
}, ne = (e, t = []) => (m.push(e), e.anchor.kind === "elements" && e.anchor.targets.forEach((n, r) => {
|
|
20562
|
+
let i = t[r], a = T(e.id, n.id);
|
|
20563
|
+
i && E(i) && v.set(a, i), y.set(a, !!(i && E(i)));
|
|
20564
|
+
}), R(), k(), A(), LC(e)), re = (e, t) => {
|
|
20565
|
+
if (i?.querySelector("[data-mesurer-responsive-stage]")) throw Error("Select a preview element before adding a Responsive annotation.");
|
|
20456
20566
|
let n = e.trim();
|
|
20457
20567
|
if (!n) throw Error("Annotation note cannot be empty.");
|
|
20458
|
-
let
|
|
20459
|
-
return
|
|
20460
|
-
id:
|
|
20568
|
+
let a = uc(t);
|
|
20569
|
+
return ne({
|
|
20570
|
+
id: RC(r, "annotation"),
|
|
20461
20571
|
note: n,
|
|
20462
20572
|
createdAt: Date.now(),
|
|
20463
20573
|
anchor: {
|
|
20464
20574
|
kind: "region",
|
|
20465
|
-
rect:
|
|
20575
|
+
rect: a
|
|
20466
20576
|
},
|
|
20467
|
-
baseline:
|
|
20577
|
+
baseline: U({
|
|
20468
20578
|
targets: [],
|
|
20469
|
-
region:
|
|
20579
|
+
region: a
|
|
20470
20580
|
})
|
|
20471
20581
|
});
|
|
20472
|
-
},
|
|
20582
|
+
}, ie = (e) => {
|
|
20473
20583
|
let n = e.trim();
|
|
20474
20584
|
if (!n) throw Error("Annotation note cannot be empty.");
|
|
20475
|
-
|
|
20476
|
-
let i = IC(t).filter(T), a = t.current.selectionOriginRect ? uc(t.current.selectionOriginRect) : null;
|
|
20585
|
+
let i = zC(t).filter(E), a = t.current.selectionOriginRect ? uc(t.current.selectionOriginRect) : null;
|
|
20477
20586
|
if (!i.length) {
|
|
20478
20587
|
if (!a) throw Error("Select a page element or drag a region before adding an annotation.");
|
|
20479
|
-
return
|
|
20588
|
+
return re(n, a);
|
|
20480
20589
|
}
|
|
20481
|
-
let o = i.map(
|
|
20482
|
-
|
|
20483
|
-
|
|
20590
|
+
let o = i.map(W);
|
|
20591
|
+
if (new Set(o.map((e) => JSON.stringify(e.viewport))).size > 1) throw Error("Select elements within one Responsive preview before adding an annotation.");
|
|
20592
|
+
return ne({
|
|
20593
|
+
id: RC(r, "annotation"),
|
|
20484
20594
|
note: n,
|
|
20485
20595
|
createdAt: Date.now(),
|
|
20486
20596
|
anchor: {
|
|
@@ -20488,12 +20598,12 @@ function LC(e) {
|
|
|
20488
20598
|
targets: o,
|
|
20489
20599
|
region: a
|
|
20490
20600
|
},
|
|
20491
|
-
baseline:
|
|
20601
|
+
baseline: U({
|
|
20492
20602
|
targets: o,
|
|
20493
20603
|
elements: i
|
|
20494
20604
|
})
|
|
20495
20605
|
}, i);
|
|
20496
|
-
},
|
|
20606
|
+
}, G = () => {
|
|
20497
20607
|
for (let [e, t] of _) t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
|
|
20498
20608
|
_.clear();
|
|
20499
20609
|
};
|
|
@@ -20510,15 +20620,22 @@ function LC(e) {
|
|
|
20510
20620
|
activeMeasurement: t.current.activeMeasurement,
|
|
20511
20621
|
heldDistances: [...t.current.heldDistances],
|
|
20512
20622
|
guides: t.current.guides.map((e) => ({ ...e })),
|
|
20513
|
-
annotations: m.map(
|
|
20623
|
+
annotations: m.map(LC)
|
|
20514
20624
|
};
|
|
20515
20625
|
},
|
|
20516
20626
|
elementRect(e) {
|
|
20517
20627
|
return Qu(e);
|
|
20518
20628
|
},
|
|
20629
|
+
targetScope: MC,
|
|
20630
|
+
annotationVisible(e) {
|
|
20631
|
+
let t = m.find((t) => t.id === e);
|
|
20632
|
+
if (!t) return !1;
|
|
20633
|
+
let n = !!i?.querySelector("[data-mesurer-responsive-stage]"), r = t.anchor.kind === "elements" && t.anchor.targets.some((e) => e.viewport);
|
|
20634
|
+
return n === r && (!r || t.anchor.kind === "elements" && t.anchor.targets.some((e) => M(t.id, e)));
|
|
20635
|
+
},
|
|
20519
20636
|
currentSelection() {
|
|
20520
20637
|
return {
|
|
20521
|
-
elements:
|
|
20638
|
+
elements: zC(t).filter(E),
|
|
20522
20639
|
region: t.current.selectionOriginRect ? uc(t.current.selectionOriginRect) : null
|
|
20523
20640
|
};
|
|
20524
20641
|
},
|
|
@@ -20547,16 +20664,16 @@ function LC(e) {
|
|
|
20547
20664
|
});
|
|
20548
20665
|
},
|
|
20549
20666
|
toggleSelection(e) {
|
|
20550
|
-
if (!e.isConnected || !
|
|
20667
|
+
if (!e.isConnected || !E(e)) return;
|
|
20551
20668
|
let n = t.current.selectedMeasurements.some((t) => t.elementRef === e) ? t.current.selectedMeasurements.filter((t) => t.elementRef !== e) : [...t.current.selectedMeasurements, sd(e, r)];
|
|
20552
20669
|
t.checkpoint(), t.setSelectedMeasurements(n, n.at(-1) ?? null), t.setTransient({ selectionOriginRect: null });
|
|
20553
20670
|
},
|
|
20554
20671
|
selectGestureActive() {
|
|
20555
20672
|
return t.current.toolMode === "select" && t.current.start !== null;
|
|
20556
20673
|
},
|
|
20557
|
-
select:
|
|
20674
|
+
select: te,
|
|
20558
20675
|
setHover(e) {
|
|
20559
|
-
if (!e?.isConnected || !
|
|
20676
|
+
if (!e?.isConnected || !E(e)) {
|
|
20560
20677
|
t.setHoverTarget(null, null);
|
|
20561
20678
|
return;
|
|
20562
20679
|
}
|
|
@@ -20572,20 +20689,20 @@ function LC(e) {
|
|
|
20572
20689
|
t.setHoverTarget(null, null);
|
|
20573
20690
|
},
|
|
20574
20691
|
hoveredElement() {
|
|
20575
|
-
return t.current.hoverElement?.isConnected &&
|
|
20692
|
+
return t.current.hoverElement?.isConnected && E(t.current.hoverElement) ? t.current.hoverElement : null;
|
|
20576
20693
|
},
|
|
20577
20694
|
annotations() {
|
|
20578
|
-
return m.map(
|
|
20695
|
+
return m.map(LC);
|
|
20579
20696
|
},
|
|
20580
20697
|
annotation(e) {
|
|
20581
20698
|
let t = m.find((t) => t.id === e);
|
|
20582
20699
|
if (!t) return null;
|
|
20583
|
-
let n =
|
|
20700
|
+
let n = LC(t), r = [];
|
|
20584
20701
|
if (n.anchor.kind === "elements" && t.anchor.kind === "elements") {
|
|
20585
20702
|
let e = t.anchor.targets;
|
|
20586
20703
|
r = n.anchor.targets.map((n, r) => ({
|
|
20587
20704
|
target: n,
|
|
20588
|
-
element:
|
|
20705
|
+
element: M(t.id, e[r])
|
|
20589
20706
|
}));
|
|
20590
20707
|
}
|
|
20591
20708
|
return {
|
|
@@ -20597,7 +20714,10 @@ function LC(e) {
|
|
|
20597
20714
|
let t = m.find((t) => t.id === e);
|
|
20598
20715
|
if (!t) return null;
|
|
20599
20716
|
if (t.anchor.kind === "region") return uc(t.anchor.rect);
|
|
20600
|
-
let n = t.anchor.targets.map((e) =>
|
|
20717
|
+
let n = t.anchor.targets.map((e) => {
|
|
20718
|
+
let n = M(t.id, e);
|
|
20719
|
+
return n ? Qu(n) : void 0;
|
|
20720
|
+
}).filter((e) => e !== void 0);
|
|
20601
20721
|
if (!n.length) {
|
|
20602
20722
|
let e = fc(t.anchor.targets.map((e) => e.lastRect));
|
|
20603
20723
|
return e ? uc(e) : null;
|
|
@@ -20609,17 +20729,17 @@ function LC(e) {
|
|
|
20609
20729
|
height: e.height
|
|
20610
20730
|
})));
|
|
20611
20731
|
},
|
|
20612
|
-
addSelectionAnnotation:
|
|
20613
|
-
addRegionAnnotation:
|
|
20732
|
+
addSelectionAnnotation: ie,
|
|
20733
|
+
addRegionAnnotation: re,
|
|
20614
20734
|
removeAnnotation(e) {
|
|
20615
20735
|
let t = m.findIndex((t) => t.id === e);
|
|
20616
20736
|
if (t < 0) return;
|
|
20617
20737
|
let [n] = m.splice(t, 1);
|
|
20618
20738
|
if (n.anchor.kind === "elements") for (let e of n.anchor.targets) {
|
|
20619
|
-
let t =
|
|
20739
|
+
let t = T(n.id, e.id);
|
|
20620
20740
|
v.delete(t), y.delete(t);
|
|
20621
20741
|
}
|
|
20622
|
-
m.length === 0 &&
|
|
20742
|
+
m.length === 0 && z(), k(), A();
|
|
20623
20743
|
},
|
|
20624
20744
|
subscribe(e) {
|
|
20625
20745
|
return g.add(e), () => g.delete(e);
|
|
@@ -20639,14 +20759,14 @@ function LC(e) {
|
|
|
20639
20759
|
}), t.style.setProperty("display", "none", "important"));
|
|
20640
20760
|
},
|
|
20641
20761
|
finishCapture() {
|
|
20642
|
-
|
|
20762
|
+
G();
|
|
20643
20763
|
},
|
|
20644
20764
|
dispose() {
|
|
20645
|
-
b || (b = !0,
|
|
20765
|
+
b || (b = !0, z(), V(), ee(), r.removeEventListener("mesurer:responsive-stage-change", B), i?.removeEventListener("scroll", P, !0), G(), v.clear(), y.clear(), m.length = 0, g.clear());
|
|
20646
20766
|
}
|
|
20647
20767
|
};
|
|
20648
20768
|
}
|
|
20649
|
-
var
|
|
20769
|
+
var VC = [
|
|
20650
20770
|
"select",
|
|
20651
20771
|
"xray",
|
|
20652
20772
|
"color-picker",
|
|
@@ -20655,12 +20775,12 @@ var RC = [
|
|
|
20655
20775
|
"text-inspector",
|
|
20656
20776
|
"guides",
|
|
20657
20777
|
"settings"
|
|
20658
|
-
],
|
|
20778
|
+
], HC = "mesurer-plugin-settings", UC = (e) => (e.startsWith("mesurer.") ? e.slice(8) : e).split(/[.-]/g).filter(Boolean).map((e) => e[0]?.toUpperCase() + e.slice(1)).join(" ") || e, WC = (e) => "create" in e && typeof e.create == "function", GC = (e) => e === "select" || e === "xray" || e === "color-picker" || e === "rulers" || e === "responsive" || e === "text-inspector" || e === "guides" || e === "distance" || e === "settings", KC = (e) => `builtin.${e}`, qC = (e, t) => {
|
|
20659
20779
|
let n = t.toLowerCase().replaceAll("cmd", "meta").split("+").map((e) => e.trim()).filter(Boolean);
|
|
20660
20780
|
if (!n.length) return !1;
|
|
20661
20781
|
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");
|
|
20662
20782
|
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;
|
|
20663
|
-
},
|
|
20783
|
+
}, JC = ({ host: e, getBuiltinController: t, getModel: n, arrangeActive: r, isBuiltinPluginId: i, onPluginError: a }) => {
|
|
20664
20784
|
let o = () => e.tools().find((e) => e.modeSwitch === !0 && e.toolbarMode === "edit"), s = null, c = async () => {
|
|
20665
20785
|
let r = s;
|
|
20666
20786
|
if (s = null, !r) return;
|
|
@@ -20714,23 +20834,23 @@ var RC = [
|
|
|
20714
20834
|
}
|
|
20715
20835
|
};
|
|
20716
20836
|
};
|
|
20717
|
-
function
|
|
20837
|
+
function YC(e) {
|
|
20718
20838
|
let t = un(() => e.pluginHost), n = t ?? jc(), r = !t, i = un(() => e.version ?? "0.1.0"), a = (t) => e.version && t.id.startsWith("mesurer.") ? {
|
|
20719
20839
|
...t,
|
|
20720
20840
|
version: i
|
|
20721
20841
|
} : t, o = new Set(un(() => e.excludePlugins ?? [])), s = un(() => [...e.plugins ?? []]), c = s.some((e) => e.id === "mesurer.responsive"), l = un(() => Ob([], e.excludePlugins ?? []).filter((e) => !c || e.id !== "mesurer.responsive").map(a)), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f = l.find((e) => e.id === "mesurer.responsive");
|
|
20722
20842
|
f && !u.has(f.id) && u.set(f.id, {
|
|
20723
20843
|
id: f.id,
|
|
20724
|
-
label:
|
|
20844
|
+
label: UC(f.id),
|
|
20725
20845
|
order: -100,
|
|
20726
20846
|
enabled: !0,
|
|
20727
20847
|
create: () => f
|
|
20728
20848
|
});
|
|
20729
20849
|
for (let [e, t] of s.entries()) {
|
|
20730
|
-
if (
|
|
20850
|
+
if (WC(t)) {
|
|
20731
20851
|
u.set(t.id, {
|
|
20732
20852
|
...t,
|
|
20733
|
-
label: t.label ??
|
|
20853
|
+
label: t.label ?? UC(t.id),
|
|
20734
20854
|
order: t.order ?? 1e3 + e
|
|
20735
20855
|
});
|
|
20736
20856
|
continue;
|
|
@@ -20738,7 +20858,7 @@ function KC(e) {
|
|
|
20738
20858
|
let n = a(t);
|
|
20739
20859
|
u.set(n.id, {
|
|
20740
20860
|
id: n.id,
|
|
20741
|
-
label:
|
|
20861
|
+
label: UC(n.id),
|
|
20742
20862
|
order: 1e3 + e,
|
|
20743
20863
|
enabled: !0,
|
|
20744
20864
|
create: () => n
|
|
@@ -20746,11 +20866,11 @@ function KC(e) {
|
|
|
20746
20866
|
}
|
|
20747
20867
|
let p = /* @__PURE__ */ new Set();
|
|
20748
20868
|
for (let e of u.values()) e.enabled !== !1 && p.add(e.id);
|
|
20749
|
-
let m = new Map([...u.values()].map((e) => [e.id, new Set(e.settingsIds ?? [])])), h = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Set(), v = /* @__PURE__ */ new Map(), y = null, b = null, x = () => void 0, S = async () => void 0, [C, w] = K(0), [T, E] = K(!1), [D, O] = K(!1), k = (e) => (C(), n.tools().find((t) => (t.builtin === e || t.id === e) && t.command !==
|
|
20869
|
+
let m = new Map([...u.values()].map((e) => [e.id, new Set(e.settingsIds ?? [])])), h = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Set(), v = /* @__PURE__ */ new Map(), y = null, b = null, x = () => void 0, S = async () => void 0, [C, w] = K(0), [T, E] = K(!1), [D, O] = K(!1), k = (e) => (C(), n.tools().find((t) => (t.builtin === e || t.id === e) && t.command !== KC(e))), A = (e) => (C(), T() ? 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)), j = () => (C(), n.state.get("mesurer.arrange.active") ?? !1), M = (e) => !1;
|
|
20750
20870
|
vo(j, (e) => {
|
|
20751
20871
|
e && O(!1);
|
|
20752
20872
|
});
|
|
20753
|
-
let N = mo(() => (C(), n.tools().filter((e) => e.hidden?.() ? !1 : !e.builtin || !
|
|
20873
|
+
let N = mo(() => (C(), n.tools().filter((e) => e.hidden?.() ? !1 : !e.builtin || !GC(e.builtin) || e.command !== KC(e.builtin)))), P = mo(() => {
|
|
20754
20874
|
C();
|
|
20755
20875
|
let e = n.settings();
|
|
20756
20876
|
return [...u.values()].sort((e, t) => (e.order ?? 0) - (t.order ?? 0)).map((t) => {
|
|
@@ -20760,7 +20880,7 @@ function KC(e) {
|
|
|
20760
20880
|
})).filter((e) => (e.controls?.length ?? 0) > 0);
|
|
20761
20881
|
return {
|
|
20762
20882
|
id: t.id,
|
|
20763
|
-
label: t.label ??
|
|
20883
|
+
label: t.label ?? UC(t.id),
|
|
20764
20884
|
description: t.description,
|
|
20765
20885
|
error: d.get(t.id),
|
|
20766
20886
|
enabled: n.has(t.id),
|
|
@@ -20771,14 +20891,14 @@ function KC(e) {
|
|
|
20771
20891
|
}), F = mo(() => (C(), n.settings().filter((e) => e.id === hy))), I = () => {
|
|
20772
20892
|
C();
|
|
20773
20893
|
let e = [];
|
|
20774
|
-
for (let t of
|
|
20894
|
+
for (let t of VC) (!A(t) || k(t)) && e.push(`[data-mesurer-builtin='${t}']{display:none!important}`);
|
|
20775
20895
|
return (!A("guides") || k("guides")) && e.push("[data-mesurer-builtin='guides-menu']{display:none!important}"), A("guides") || e.push("[data-mesurer-guide='true']{display:none!important}"), A("distance") || e.push("[data-mesurer-distance='true']{display:none!important}"), A("rulers") || e.push("[data-mesurer-rulers='true']{display:none!important}"), A("color-picker") || e.push(".mesurer-color-picker{display:none!important}"), e.join("\n");
|
|
20776
|
-
}, { editModeTool: L, executeTool: R, leaveEditMode: z, runTool: B } =
|
|
20896
|
+
}, { editModeTool: L, executeTool: R, leaveEditMode: z, runTool: B } = JC({
|
|
20777
20897
|
host: n,
|
|
20778
20898
|
getBuiltinController: () => b,
|
|
20779
20899
|
getModel: () => y,
|
|
20780
20900
|
arrangeActive: j,
|
|
20781
|
-
isBuiltinPluginId:
|
|
20901
|
+
isBuiltinPluginId: GC,
|
|
20782
20902
|
onPluginError: e.onPluginError
|
|
20783
20903
|
}), V = (e) => {
|
|
20784
20904
|
D() && [
|
|
@@ -20851,7 +20971,7 @@ function KC(e) {
|
|
|
20851
20971
|
n || (n = !0, t(), e.remove());
|
|
20852
20972
|
}
|
|
20853
20973
|
};
|
|
20854
|
-
}, ce = (e) =>
|
|
20974
|
+
}, ce = (e) => BC({
|
|
20855
20975
|
model: ne(),
|
|
20856
20976
|
ownerDocument: B,
|
|
20857
20977
|
ownerWindow: V,
|
|
@@ -20860,7 +20980,7 @@ function KC(e) {
|
|
|
20860
20980
|
persistenceKey: e ? `${P.persistKey ?? "mesurer-plugin-settings"}:${e}:${V.location.origin}` : void 0
|
|
20861
20981
|
}), le = B.createElement("style");
|
|
20862
20982
|
le.dataset.mesurerPluginVisibility = "true", le.dataset.mesurerInspectorUi = "true", le.textContent = I(), F.append(le);
|
|
20863
|
-
let ue = P.persistKey ? `${P.persistKey}:plugins` :
|
|
20983
|
+
let ue = P.persistKey ? `${P.persistKey}:plugins` : HC, de = `${ue}:availability`, fe = /* @__PURE__ */ new Map();
|
|
20864
20984
|
try {
|
|
20865
20985
|
let e = V.localStorage.getItem(de);
|
|
20866
20986
|
if (e) {
|
|
@@ -20904,7 +21024,7 @@ function KC(e) {
|
|
|
20904
21024
|
"rulers"
|
|
20905
21025
|
].includes(e.id) && (e.active?.() ?? !1))) && O(!1), (e.reason === "state" || e.reason === "history" || e.reason === "remove" || e.reason === "replace") && he(), T() && !s && (e.reason === "load" || e.reason === "remove" || e.reason === "replace") && pe(), e.reason === "remove" && e.pluginId?.startsWith("mesurer.")) {
|
|
20906
21026
|
let t = e.pluginId.slice(8);
|
|
20907
|
-
|
|
21027
|
+
GC(t) && t !== "responsive" && b?.deactivate(t), t === "responsive" && O(!1);
|
|
20908
21028
|
}
|
|
20909
21029
|
});
|
|
20910
21030
|
P.onPluginHost?.(C);
|
|
@@ -21028,7 +21148,7 @@ function KC(e) {
|
|
|
21028
21148
|
createInspectorMount: se
|
|
21029
21149
|
};
|
|
21030
21150
|
e.service.provide("runtime:solid", t), yy(e), jb(e, t), jC(e, t);
|
|
21031
|
-
for (let t of
|
|
21151
|
+
for (let t of VC) e.command.register(KC(t), () => Oe(t));
|
|
21032
21152
|
}
|
|
21033
21153
|
}), t)) {
|
|
21034
21154
|
for (let e of [...u.values()].sort((e, t) => (e.order ?? 0) - (t.order ?? 0))) {
|
|
@@ -21103,7 +21223,7 @@ function KC(e) {
|
|
|
21103
21223
|
e.preventDefault(), e.stopImmediatePropagation();
|
|
21104
21224
|
return;
|
|
21105
21225
|
}
|
|
21106
|
-
let a = N().find((t) => t.shortcut && !t.disabled?.() &&
|
|
21226
|
+
let a = N().find((t) => t.shortcut && !t.disabled?.() && qC(e, t.shortcut));
|
|
21107
21227
|
if (a) {
|
|
21108
21228
|
e.preventDefault(), e.stopImmediatePropagation(), U(a);
|
|
21109
21229
|
return;
|
|
@@ -21163,7 +21283,7 @@ function KC(e) {
|
|
|
21163
21283
|
}
|
|
21164
21284
|
});
|
|
21165
21285
|
}
|
|
21166
|
-
var
|
|
21286
|
+
var XC = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), ZC = (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), QC = (e, t, n, r, i) => {
|
|
21167
21287
|
let a = e.left + e.width, o = e.top + e.height, s = [
|
|
21168
21288
|
{
|
|
21169
21289
|
axis: "vertical",
|
|
@@ -21211,7 +21331,7 @@ var qC = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), JC = (e, t, n =
|
|
|
21211
21331
|
}
|
|
21212
21332
|
];
|
|
21213
21333
|
return i ? s.sort((e, t) => t.space - e.space) : s;
|
|
21214
|
-
},
|
|
21334
|
+
}, $C = (e, t, n) => {
|
|
21215
21335
|
let r = [];
|
|
21216
21336
|
for (let i = 0; i <= n; i += 1) {
|
|
21217
21337
|
let n = i * t;
|
|
@@ -21237,14 +21357,14 @@ var qC = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), JC = (e, t, n =
|
|
|
21237
21357
|
}
|
|
21238
21358
|
return r;
|
|
21239
21359
|
};
|
|
21240
|
-
function
|
|
21360
|
+
function ew(e, t, n = {}) {
|
|
21241
21361
|
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 = [];
|
|
21242
21362
|
for (let n of e) {
|
|
21243
|
-
let e = /* @__PURE__ */ new Set(), _ = [], v =
|
|
21244
|
-
for (let t of
|
|
21363
|
+
let e = /* @__PURE__ */ new Set(), _ = [], v = QC(n.rect, t, r, a, u);
|
|
21364
|
+
for (let t of $C(v, d, l)) {
|
|
21245
21365
|
let n = u ? {
|
|
21246
|
-
left:
|
|
21247
|
-
top:
|
|
21366
|
+
left: XC(t.left, s, f),
|
|
21367
|
+
top: XC(t.top, s, p)
|
|
21248
21368
|
} : t, r = `${n.left}:${n.top}`;
|
|
21249
21369
|
e.has(r) || (e.add(r), _.push(n));
|
|
21250
21370
|
}
|
|
@@ -21254,21 +21374,21 @@ function ZC(e, t, n = {}) {
|
|
|
21254
21374
|
width: r,
|
|
21255
21375
|
height: r
|
|
21256
21376
|
};
|
|
21257
|
-
return h.every((e) => !
|
|
21377
|
+
return h.every((e) => !ZC(t, e, o)) && c.every((e) => !ZC(t, e, i));
|
|
21258
21378
|
}), b = y.find((e) => {
|
|
21259
21379
|
let t = {
|
|
21260
21380
|
...e,
|
|
21261
21381
|
width: r,
|
|
21262
21382
|
height: r
|
|
21263
21383
|
};
|
|
21264
|
-
return m.every((e) => !
|
|
21384
|
+
return m.every((e) => !ZC(t, e, i));
|
|
21265
21385
|
}) ?? y.find((e) => {
|
|
21266
21386
|
let t = {
|
|
21267
21387
|
...e,
|
|
21268
21388
|
width: r,
|
|
21269
21389
|
height: r
|
|
21270
21390
|
};
|
|
21271
|
-
return m.every((e) => !
|
|
21391
|
+
return m.every((e) => !ZC(t, e));
|
|
21272
21392
|
}) ?? y[0] ?? _[0] ?? {
|
|
21273
21393
|
left: s,
|
|
21274
21394
|
top: s
|
|
@@ -21284,20 +21404,20 @@ function ZC(e, t, n = {}) {
|
|
|
21284
21404
|
}
|
|
21285
21405
|
return g;
|
|
21286
21406
|
}
|
|
21287
|
-
var
|
|
21407
|
+
var tw = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), nw = 0, rw = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), iw = (e) => {
|
|
21288
21408
|
let t = e.ownerDocument.defaultView?.HTMLElement;
|
|
21289
21409
|
return !!(t && e instanceof t);
|
|
21290
|
-
},
|
|
21291
|
-
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i =
|
|
21410
|
+
}, aw = (e, t) => {
|
|
21411
|
+
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = rw(n);
|
|
21292
21412
|
i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
|
|
21293
21413
|
let a = !1;
|
|
21294
21414
|
return () => {
|
|
21295
21415
|
if (a) return;
|
|
21296
21416
|
a = !0;
|
|
21297
|
-
let i =
|
|
21417
|
+
let i = rw(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
|
|
21298
21418
|
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");
|
|
21299
21419
|
};
|
|
21300
|
-
},
|
|
21420
|
+
}, ow = (e) => {
|
|
21301
21421
|
if (!e.length) return null;
|
|
21302
21422
|
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));
|
|
21303
21423
|
return {
|
|
@@ -21306,14 +21426,14 @@ var QC = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), $C = 0, ew = (e)
|
|
|
21306
21426
|
width: r - t,
|
|
21307
21427
|
height: i - n
|
|
21308
21428
|
};
|
|
21309
|
-
},
|
|
21429
|
+
}, sw = (e, t, n, r, i = 8) => {
|
|
21310
21430
|
let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
|
|
21311
21431
|
return {
|
|
21312
|
-
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c :
|
|
21313
|
-
top:
|
|
21432
|
+
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : tw(e.left + e.width - t, 8, a),
|
|
21433
|
+
top: tw(e.top, 8, o)
|
|
21314
21434
|
};
|
|
21315
|
-
},
|
|
21316
|
-
let a = r.innerWidth - t - 8, o =
|
|
21435
|
+
}, cw = (e, t, n, r, i = 8) => {
|
|
21436
|
+
let a = r.innerWidth - t - 8, o = tw(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
|
|
21317
21437
|
if (s + n <= r.innerHeight - 8) return {
|
|
21318
21438
|
left: o,
|
|
21319
21439
|
top: s
|
|
@@ -21322,10 +21442,10 @@ var QC = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), $C = 0, ew = (e)
|
|
|
21322
21442
|
return c >= 8 ? {
|
|
21323
21443
|
left: o,
|
|
21324
21444
|
top: c
|
|
21325
|
-
} :
|
|
21445
|
+
} : sw(e, t, n, r, i);
|
|
21326
21446
|
};
|
|
21327
|
-
function
|
|
21328
|
-
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(!1), [h, g] = K(""), [_, v] = K(!1), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${
|
|
21447
|
+
function lw(e) {
|
|
21448
|
+
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(!1), [h, g] = K(""), [_, v] = K(!1), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++nw}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, N, P, F = null, I = null, L = !1, R = null, z = null, B = null, V = null, ee = null, H = null, U = /* @__PURE__ */ new Map(), W = () => N?.ownerDocument.defaultView ?? window, te = Dl(W()), ne = "context-annotation-send", re = () => e.coordinateSpace === "viewport", ie = (e) => e ? "native-anchor" : re() ? "cached-delta" : "document", G = (e) => {
|
|
21329
21449
|
if (re()) return e;
|
|
21330
21450
|
let t = W();
|
|
21331
21451
|
return {
|
|
@@ -21361,8 +21481,8 @@ function ow(e) {
|
|
|
21361
21481
|
t && (t.scroll.release(), t.releaseAnchor?.(), U.delete(e));
|
|
21362
21482
|
}, he = (t) => {
|
|
21363
21483
|
let n = e.runtime.annotation(t);
|
|
21364
|
-
return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
|
|
21365
|
-
}, ge = (e) => !!(
|
|
21484
|
+
return !n || n.anchor.kind !== "elements" || !e.runtime.annotationVisible(t) ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected && !C_(e.ownerDocument))?.element ?? null;
|
|
21485
|
+
}, ge = (e) => !!(iw(e) && re() && N && le() && e.getRootNode() === N.getRootNode()), _e = (e) => {
|
|
21366
21486
|
let t = he(e), n = U.get(e);
|
|
21367
21487
|
if (!t) {
|
|
21368
21488
|
n && (me(e), i((e) => e + 1));
|
|
@@ -21376,12 +21496,12 @@ function ow(e) {
|
|
|
21376
21496
|
me(e);
|
|
21377
21497
|
let a = t.ownerDocument.defaultView;
|
|
21378
21498
|
if (a) {
|
|
21379
|
-
if (r &&
|
|
21380
|
-
let n = `--mesurer-annotation-${
|
|
21499
|
+
if (r && iw(t)) {
|
|
21500
|
+
let n = `--mesurer-annotation-${++nw}`;
|
|
21381
21501
|
U.set(e, {
|
|
21382
21502
|
target: t,
|
|
21383
21503
|
anchorName: n,
|
|
21384
|
-
releaseAnchor:
|
|
21504
|
+
releaseAnchor: aw(t, n),
|
|
21385
21505
|
scroll: Jp(a, t, () => pe(e), { trackWindow: !1 })
|
|
21386
21506
|
});
|
|
21387
21507
|
} else U.set(e, {
|
|
@@ -21407,21 +21527,25 @@ function ow(e) {
|
|
|
21407
21527
|
e.initialTriggerFallback && (O = ue());
|
|
21408
21528
|
let xe = () => {
|
|
21409
21529
|
V?.release(), V = null, B?.(), B = null, R = null, z = null;
|
|
21410
|
-
}, Se = (e) => !!(
|
|
21530
|
+
}, Se = (e) => !!(iw(e) && re() && N && e !== O && le() && e.getRootNode() === N.getRootNode()), Ce = () => {
|
|
21411
21531
|
let e = ue();
|
|
21532
|
+
if (e && C_(e.ownerDocument)) {
|
|
21533
|
+
xe();
|
|
21534
|
+
return;
|
|
21535
|
+
}
|
|
21412
21536
|
O && e !== O && (O = null);
|
|
21413
21537
|
let t = R, n = !!(e?.isConnected && Se(e)), r = z === e;
|
|
21414
21538
|
if (e === R && e?.isConnected && n === r) {
|
|
21415
21539
|
V?.sync();
|
|
21416
21540
|
return;
|
|
21417
21541
|
}
|
|
21418
|
-
let i = e === t ? D : `--mesurer-annotation-trigger-${
|
|
21542
|
+
let i = e === t ? D : `--mesurer-annotation-trigger-${++nw}`;
|
|
21419
21543
|
if (xe(), !e?.isConnected) return;
|
|
21420
21544
|
R = e;
|
|
21421
21545
|
let a = e.ownerDocument.defaultView;
|
|
21422
21546
|
if (a) {
|
|
21423
|
-
if (n &&
|
|
21424
|
-
B =
|
|
21547
|
+
if (n && iw(e)) {
|
|
21548
|
+
B = aw(e, i), z = e, D = i, V = Jp(a, e, fe, { trackWindow: !1 });
|
|
21425
21549
|
return;
|
|
21426
21550
|
}
|
|
21427
21551
|
D = i, V = Jp(a, e, fe, { trackWindow: re() });
|
|
@@ -21463,24 +21587,24 @@ function ow(e) {
|
|
|
21463
21587
|
});
|
|
21464
21588
|
let Pe = ue();
|
|
21465
21589
|
we(Pe);
|
|
21466
|
-
let Fe = e.runtime.subscribe(() => {
|
|
21590
|
+
let Fe = e.runtime.subscribe(() => un(() => {
|
|
21467
21591
|
let t = e.runtime.selectGestureActive();
|
|
21468
21592
|
p() && t ? (k = !0, ce()) : p() && A !== null && !oe(A, ae()) && (O = ue(), k = !1, ce());
|
|
21469
21593
|
let r = ue(), i = r !== Pe;
|
|
21470
|
-
i && (Pe = r, we(Pe), k && (k = !1, O = r)), Ce(), i && Ee(), n((e) => e + 1), be();
|
|
21471
|
-
});
|
|
21594
|
+
i && (Pe = r, we(Pe), k && (k = !1, O = r)), Ce(), (i || r && C_(r.ownerDocument)) && Ee(), n((e) => e + 1), be();
|
|
21595
|
+
}));
|
|
21472
21596
|
Ce(), W().queueMicrotask(ve), In(() => {
|
|
21473
21597
|
ee?.disconnect(), ee = null, se(), H?.removeEventListener("resize", Ee), H = null, Ne?.disconnect(), xe();
|
|
21474
21598
|
for (let e of U.keys()) me(e);
|
|
21475
21599
|
Fe();
|
|
21476
21600
|
});
|
|
21477
|
-
let Ie = mo(() => (t(), e.runtime.currentSelection())), Le = mo(() => (t(), e.runtime.annotations())), Re = mo(() => {
|
|
21601
|
+
let Ie = mo(() => (t(), e.runtime.currentSelection())), Le = mo(() => (t(), e.runtime.annotations().filter((t) => e.runtime.annotationVisible(t.id)))), Re = mo(() => {
|
|
21478
21602
|
let e = a();
|
|
21479
21603
|
return e ? Le().find((t) => t.id === e) ?? null : null;
|
|
21480
21604
|
}), ze = mo(() => s() ?? l() ?? a()), Be = (e) => Le().findIndex((t) => t.id === e) + 1, Ve = mo(() => {
|
|
21481
21605
|
t(), r();
|
|
21482
21606
|
let n = ze();
|
|
21483
|
-
if (!n) return [];
|
|
21607
|
+
if (!n || !e.runtime.annotationVisible(n)) return [];
|
|
21484
21608
|
let i = e.runtime.annotation(n);
|
|
21485
21609
|
if (!i) return [];
|
|
21486
21610
|
if (i.anchor.kind === "region") return [{ ...i.anchor.rect }];
|
|
@@ -21512,7 +21636,7 @@ function ow(e) {
|
|
|
21512
21636
|
};
|
|
21513
21637
|
});
|
|
21514
21638
|
return e.region && t.push({ ...e.region }), t;
|
|
21515
|
-
}), Ge = mo(() =>
|
|
21639
|
+
}), Ge = mo(() => ow(We())), Ke = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", qe = mo(() => {
|
|
21516
21640
|
r();
|
|
21517
21641
|
let t = e.runtime.currentSelection().elements;
|
|
21518
21642
|
if (!t.length) return null;
|
|
@@ -21521,7 +21645,7 @@ function ow(e) {
|
|
|
21521
21645
|
}), Je = () => {
|
|
21522
21646
|
r();
|
|
21523
21647
|
let e = qe();
|
|
21524
|
-
if (!e?.isConnected
|
|
21648
|
+
if (!e?.isConnected) return null;
|
|
21525
21649
|
let t = Qu(e), n = {
|
|
21526
21650
|
left: t.left,
|
|
21527
21651
|
top: t.top,
|
|
@@ -21532,7 +21656,7 @@ function ow(e) {
|
|
|
21532
21656
|
top: e.top,
|
|
21533
21657
|
width: 24,
|
|
21534
21658
|
height: 24
|
|
21535
|
-
})), [o] =
|
|
21659
|
+
})), [o] = ew([{
|
|
21536
21660
|
id: "selection-note-trigger",
|
|
21537
21661
|
rect: n
|
|
21538
21662
|
}], {
|
|
@@ -21542,7 +21666,7 @@ function ow(e) {
|
|
|
21542
21666
|
obstacles: [...a, ...De()],
|
|
21543
21667
|
maxShiftRings: Math.ceil(Math.max(i.innerWidth, i.innerHeight) / 28),
|
|
21544
21668
|
viewportAware: !0
|
|
21545
|
-
}), s = o?.left ??
|
|
21669
|
+
}), s = o?.left ?? tw(n.left + n.width + 6, 4, i.innerWidth - 24 - 4), c = o?.top ?? tw(n.top, 4, i.innerHeight - 24 - 4), l = z === e, u = re() && !l;
|
|
21546
21670
|
return {
|
|
21547
21671
|
left: l || u ? s : s + i.scrollX,
|
|
21548
21672
|
top: l || u ? c : c + i.scrollY,
|
|
@@ -21560,7 +21684,7 @@ function ow(e) {
|
|
|
21560
21684
|
rect: n
|
|
21561
21685
|
}] : [];
|
|
21562
21686
|
});
|
|
21563
|
-
return new Map(
|
|
21687
|
+
return new Map(ew(i, {
|
|
21564
21688
|
width: n.innerWidth,
|
|
21565
21689
|
height: n.innerHeight
|
|
21566
21690
|
}, { obstacles: We() }).map((e) => [e.id, e]));
|
|
@@ -21581,7 +21705,7 @@ function ow(e) {
|
|
|
21581
21705
|
};
|
|
21582
21706
|
}, Qe = () => {
|
|
21583
21707
|
let e = Ge(), t = W();
|
|
21584
|
-
return e ?
|
|
21708
|
+
return e ? cw(e, 256, 160, t) : {
|
|
21585
21709
|
left: 8,
|
|
21586
21710
|
top: 8
|
|
21587
21711
|
};
|
|
@@ -21602,7 +21726,7 @@ function ow(e) {
|
|
|
21602
21726
|
};
|
|
21603
21727
|
}, et = (e, t) => {
|
|
21604
21728
|
let n = W(), r = Ye(), i = r.get(e);
|
|
21605
|
-
if (!i) return
|
|
21729
|
+
if (!i) return sw(t, 272, 176, n);
|
|
21606
21730
|
let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
|
|
21607
21731
|
left: e.left,
|
|
21608
21732
|
top: e.top,
|
|
@@ -21628,8 +21752,8 @@ function ow(e) {
|
|
|
21628
21752
|
}
|
|
21629
21753
|
]) {
|
|
21630
21754
|
let t = {
|
|
21631
|
-
left:
|
|
21632
|
-
top:
|
|
21755
|
+
left: tw(e.left, 8, a),
|
|
21756
|
+
top: tw(e.top, 8, o)
|
|
21633
21757
|
}, n = `${t.left}:${t.top}`;
|
|
21634
21758
|
l.has(n) || (l.add(n), u.push(t));
|
|
21635
21759
|
}
|
|
@@ -21645,7 +21769,7 @@ function ow(e) {
|
|
|
21645
21769
|
targetOverlap: c(r, t),
|
|
21646
21770
|
index: n
|
|
21647
21771
|
};
|
|
21648
|
-
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ??
|
|
21772
|
+
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? sw(t, 272, 176, n);
|
|
21649
21773
|
}, tt = (t) => {
|
|
21650
21774
|
let n = e.runtime.annotationRect(t);
|
|
21651
21775
|
if (!n) return {
|
|
@@ -21697,8 +21821,8 @@ function ow(e) {
|
|
|
21697
21821
|
let u = (t) => {
|
|
21698
21822
|
if (!j || t.pointerId !== j.pointerId) return;
|
|
21699
21823
|
let r = j, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
|
|
21700
|
-
left:
|
|
21701
|
-
top:
|
|
21824
|
+
left: tw(r.originLeft + t.clientX - r.startX, 8, i),
|
|
21825
|
+
top: tw(r.originTop + t.clientY - r.startY, 8, a)
|
|
21702
21826
|
}, c = e.runtime.annotationRect(n);
|
|
21703
21827
|
c && f((e) => ({
|
|
21704
21828
|
...e,
|
|
@@ -21729,7 +21853,7 @@ function ow(e) {
|
|
|
21729
21853
|
}
|
|
21730
21854
|
}
|
|
21731
21855
|
}, ct = ce, lt = () => {
|
|
21732
|
-
He() && (
|
|
21856
|
+
He() && (k = !1, A = ae(), g(""), v(!1), b(null), w(null), o(null), m(!0), F = (e) => {
|
|
21733
21857
|
let t = de()?.querySelector("[data-mesurer-annotation-composer='true']"), n = W().Node;
|
|
21734
21858
|
if (!(t && n && e.target instanceof n && t.contains(e.target))) {
|
|
21735
21859
|
if (h().trim() && !y()) {
|
|
@@ -21738,24 +21862,18 @@ function ow(e) {
|
|
|
21738
21862
|
}
|
|
21739
21863
|
ut();
|
|
21740
21864
|
}
|
|
21741
|
-
}, W().document.addEventListener("pointerdown", F, !0), W().queueMicrotask(() => V?.sync()))
|
|
21865
|
+
}, W().document.addEventListener("pointerdown", F, !0), W().queueMicrotask(() => V?.sync()));
|
|
21742
21866
|
}, ut = () => {
|
|
21743
21867
|
let e = p();
|
|
21744
21868
|
A !== null && !oe(A, ae()) ? (O = ue(), k = !1, Ce(), Ee()) : e && (k = !1), ct();
|
|
21745
21869
|
}, dt = () => {
|
|
21746
21870
|
p() && (k = !0, ct());
|
|
21747
21871
|
}, ft = () => {
|
|
21748
|
-
if (!(!h().trim() || x())) {
|
|
21749
|
-
|
|
21750
|
-
|
|
21751
|
-
|
|
21752
|
-
|
|
21753
|
-
try {
|
|
21754
|
-
let t = e.runtime.addSelectionAnnotation(h());
|
|
21755
|
-
k = !1, A = null, g(""), v(!1), b(null), m(!1), se(), _e(t.id), nt(t.id), o(t.id), w(null), ye(t.id);
|
|
21756
|
-
} catch (e) {
|
|
21757
|
-
b(e instanceof Error ? e.message : String(e));
|
|
21758
|
-
}
|
|
21872
|
+
if (!(!h().trim() || x())) try {
|
|
21873
|
+
let t = e.runtime.addSelectionAnnotation(h());
|
|
21874
|
+
k = !1, A = null, g(""), v(!1), b(null), m(!1), se(), _e(t.id), nt(t.id), o(t.id), w(null), ye(t.id);
|
|
21875
|
+
} catch (e) {
|
|
21876
|
+
b(e instanceof Error ? e.message : String(e));
|
|
21759
21877
|
}
|
|
21760
21878
|
}, pt = {
|
|
21761
21879
|
openNoteComposer: lt,
|
|
@@ -22145,11 +22263,11 @@ function ow(e) {
|
|
|
22145
22263
|
})
|
|
22146
22264
|
];
|
|
22147
22265
|
}
|
|
22148
|
-
function
|
|
22266
|
+
function uw(e) {
|
|
22149
22267
|
let t = null;
|
|
22150
22268
|
return In(ov(e.ownerWindow, () => {
|
|
22151
22269
|
t?.abandonNoteComposer();
|
|
22152
|
-
})), Y(
|
|
22270
|
+
})), Y(lw, {
|
|
22153
22271
|
get runtime() {
|
|
22154
22272
|
return e.runtime;
|
|
22155
22273
|
},
|
|
@@ -22170,8 +22288,8 @@ function sw(e) {
|
|
|
22170
22288
|
}
|
|
22171
22289
|
});
|
|
22172
22290
|
}
|
|
22173
|
-
var
|
|
22174
|
-
function
|
|
22291
|
+
var dw = "2147482950", fw = "2147483646", pw = "2147483647";
|
|
22292
|
+
function mw(e) {
|
|
22175
22293
|
let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
|
|
22176
22294
|
if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
|
|
22177
22295
|
df(ff, i);
|
|
@@ -22192,17 +22310,17 @@ function dw(e) {
|
|
|
22192
22310
|
s.dataset.mesurerDocumentInspectorLayerStyle = "true", s.textContent = `
|
|
22193
22311
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
|
|
22194
22312
|
position: absolute !important;
|
|
22195
|
-
z-index: ${
|
|
22313
|
+
z-index: ${dw} !important;
|
|
22196
22314
|
}
|
|
22197
22315
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
|
|
22198
22316
|
position: absolute !important;
|
|
22199
|
-
z-index: ${
|
|
22317
|
+
z-index: ${fw} !important;
|
|
22200
22318
|
}
|
|
22201
22319
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
|
|
22202
22320
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
|
|
22203
22321
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
|
|
22204
22322
|
position: absolute !important;
|
|
22205
|
-
z-index: ${
|
|
22323
|
+
z-index: ${pw} !important;
|
|
22206
22324
|
}
|
|
22207
22325
|
`, t.head.append(s), i.append(a);
|
|
22208
22326
|
let c = !1;
|
|
@@ -22213,8 +22331,8 @@ function dw(e) {
|
|
|
22213
22331
|
}
|
|
22214
22332
|
};
|
|
22215
22333
|
}
|
|
22216
|
-
var
|
|
22217
|
-
let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i =
|
|
22334
|
+
var hw = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, gw = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", _w = (e) => {
|
|
22335
|
+
let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = gw(e.align);
|
|
22218
22336
|
return {
|
|
22219
22337
|
position: "absolute",
|
|
22220
22338
|
inset: "0",
|
|
@@ -22235,7 +22353,7 @@ var fw = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)
|
|
|
22235
22353
|
transform: e.align === "center" ? t ? `translateX(${e.offset}px)` : `translateY(${e.offset}px)` : void 0
|
|
22236
22354
|
};
|
|
22237
22355
|
};
|
|
22238
|
-
function
|
|
22356
|
+
function vw(e) {
|
|
22239
22357
|
let t = () => e.guides.filter((e) => e.visible);
|
|
22240
22358
|
return Y(q, {
|
|
22241
22359
|
get when() {
|
|
@@ -22270,7 +22388,7 @@ function hw(e) {
|
|
|
22270
22388
|
"min-height": "0",
|
|
22271
22389
|
width: "100%",
|
|
22272
22390
|
height: "100%",
|
|
22273
|
-
"background-color":
|
|
22391
|
+
"background-color": hw(e)
|
|
22274
22392
|
}), (e, n) => {
|
|
22275
22393
|
$(t, "style", e, n);
|
|
22276
22394
|
}), t;
|
|
@@ -22278,7 +22396,7 @@ function hw(e) {
|
|
|
22278
22396
|
})), J(() => ({
|
|
22279
22397
|
e: e.id,
|
|
22280
22398
|
t: e.kind,
|
|
22281
|
-
a:
|
|
22399
|
+
a: _w(e)
|
|
22282
22400
|
}), ({ e, t: n, a: r }, i) => {
|
|
22283
22401
|
e !== i?.e && $(t, "data-mesurer-layout-guide", e, i?.e), n !== i?.t && $(t, "data-mesurer-layout-guide-kind", n, i?.t), r !== i?.a && $(t, "style", r, i?.a);
|
|
22284
22402
|
}), t;
|
|
@@ -22291,7 +22409,7 @@ function hw(e) {
|
|
|
22291
22409
|
return J(() => ({
|
|
22292
22410
|
e: e.id,
|
|
22293
22411
|
t: {
|
|
22294
|
-
"background-image": `linear-gradient(to right, ${
|
|
22412
|
+
"background-image": `linear-gradient(to right, ${hw(e)} 1px, transparent 1px), linear-gradient(to bottom, ${hw(e)} 1px, transparent 1px)`,
|
|
22295
22413
|
"background-size": `${e.size}px ${e.size}px`
|
|
22296
22414
|
}
|
|
22297
22415
|
}), ({ e, t: n }, r) => {
|
|
@@ -22303,34 +22421,34 @@ function hw(e) {
|
|
|
22303
22421
|
}
|
|
22304
22422
|
});
|
|
22305
22423
|
}
|
|
22306
|
-
var
|
|
22424
|
+
var yw = "#FF0000", bw = .1, xw = /* @__PURE__ */ new Set([
|
|
22307
22425
|
"columns",
|
|
22308
22426
|
"rows",
|
|
22309
22427
|
"grid"
|
|
22310
|
-
]),
|
|
22428
|
+
]), Sw = /* @__PURE__ */ new Set([
|
|
22311
22429
|
"stretch",
|
|
22312
22430
|
"min",
|
|
22313
22431
|
"center",
|
|
22314
22432
|
"max"
|
|
22315
|
-
]),
|
|
22316
|
-
let t = e.kind &&
|
|
22433
|
+
]), Cw = (e, t, n) => Math.min(n, Math.max(t, e)), ww = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Tw = (e = {}) => {
|
|
22434
|
+
let t = e.kind && xw.has(e.kind) ? e.kind : "columns", n = e.align && Sw.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
|
|
22317
22435
|
return {
|
|
22318
22436
|
id: r || Zu(),
|
|
22319
22437
|
kind: t,
|
|
22320
22438
|
visible: e.visible ?? !0,
|
|
22321
22439
|
color: i || "#FF0000",
|
|
22322
|
-
opacity:
|
|
22323
|
-
count:
|
|
22324
|
-
size:
|
|
22325
|
-
gutter:
|
|
22326
|
-
offset:
|
|
22440
|
+
opacity: Cw(ww(e.opacity, bw), 0, 1),
|
|
22441
|
+
count: Cw(Math.round(ww(e.count, 5)), 1, 24),
|
|
22442
|
+
size: Cw(ww(e.size, 72), 1, 4096),
|
|
22443
|
+
gutter: Cw(ww(e.gutter, 20), 0, 800),
|
|
22444
|
+
offset: Cw(ww(e.offset, 0), 0, 4096),
|
|
22327
22445
|
align: n
|
|
22328
22446
|
};
|
|
22329
|
-
},
|
|
22447
|
+
}, Ew = (e) => (e ?? []).map(Tw), Dw = (e) => {
|
|
22330
22448
|
if (e.kind === "grid") return `Grid ${Math.round(e.size)}px`;
|
|
22331
22449
|
let t = e.kind === "columns" ? "columns" : "rows";
|
|
22332
22450
|
return e.align === "stretch" ? `${e.count} ${t}` : `${e.count} ${t} (${Math.round(e.size)}px)`;
|
|
22333
|
-
},
|
|
22451
|
+
}, Ow = (e) => (() => {
|
|
22334
22452
|
var t = X("svg", {
|
|
22335
22453
|
xmlns: "http://www.w3.org/2000/svg",
|
|
22336
22454
|
viewBox: "0 0 24 24",
|
|
@@ -22349,10 +22467,10 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22349
22467
|
}), ({ e, t: n }, r) => {
|
|
22350
22468
|
e !== r?.e && $(t, "width", e, r?.e), n !== r?.t && $(t, "height", n, r?.t);
|
|
22351
22469
|
}), t;
|
|
22352
|
-
})(),
|
|
22470
|
+
})(), kw = (e) => e.kind === "rows" ? Y(Dg, { size: 14 }) : e.kind === "grid" ? Y(Tg, { size: 14 }) : Y(Eg, { size: 14 }), Aw = "msr:grid-cols-[78px_minmax(0,1fr)]", jw = (e) => (() => {
|
|
22353
22471
|
var t = X("label", { class: "msr:col-span-2 msr:grid msr:h-8 msr:w-full msr:grid-cols-[78px_minmax(0,1fr)] msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700" }), n = X("span");
|
|
22354
22472
|
return Z(t, n), Q(n, () => e.label), Q(t, () => e.children, null), t;
|
|
22355
|
-
})(),
|
|
22473
|
+
})(), Mw = (e) => (() => {
|
|
22356
22474
|
var t = X("span", { class: "msr:relative msr:block msr:w-full" }), n = X("select", {
|
|
22357
22475
|
class: Hh,
|
|
22358
22476
|
onPointerDown: (e) => e.stopPropagation(),
|
|
@@ -22364,7 +22482,7 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22364
22482
|
}), ({ e, t }, r) => {
|
|
22365
22483
|
e !== r?.e && $(n, "aria-label", e, r?.e), t !== r?.t && $(n, "value", t, r?.t);
|
|
22366
22484
|
}), t;
|
|
22367
|
-
})(),
|
|
22485
|
+
})(), Nw = (e) => {
|
|
22368
22486
|
let [t, n] = K(!1), [r, i] = K(String(e.value)), a = () => e.min ?? 0, o = () => e.max ?? 9999, s = (e) => Math.min(o(), Math.max(a(), e)), c = (t) => {
|
|
22369
22487
|
let n = Number(t.replace(/[^\d.-]/g, ""));
|
|
22370
22488
|
if (!Number.isFinite(n)) {
|
|
@@ -22405,7 +22523,7 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22405
22523
|
e !== n?.e && $(a, "aria-label", e, n?.e), t !== n?.t && $(a, "value", t, n?.t);
|
|
22406
22524
|
}), a;
|
|
22407
22525
|
} });
|
|
22408
|
-
},
|
|
22526
|
+
}, Pw = (e) => e === "rows" || e === "grid" ? e : "columns", Fw = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", Iw = (e) => {
|
|
22409
22527
|
let t = mo(() => e.guide.kind === "rows" ? {
|
|
22410
22528
|
stretch: "Stretch",
|
|
22411
22529
|
min: "Top",
|
|
@@ -22422,13 +22540,13 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22422
22540
|
"aria-label": "Back to layout guides",
|
|
22423
22541
|
class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
|
|
22424
22542
|
});
|
|
22425
|
-
return Z(r, i), Z(i, a), Q(i, Y(
|
|
22543
|
+
return Z(r, i), Z(i, a), Q(i, Y(Mw, {
|
|
22426
22544
|
label: "Layout guide type",
|
|
22427
22545
|
get value() {
|
|
22428
22546
|
return e.guide.kind;
|
|
22429
22547
|
},
|
|
22430
22548
|
onChange: (t) => {
|
|
22431
|
-
let n =
|
|
22549
|
+
let n = Pw(t);
|
|
22432
22550
|
e.onUpdate({
|
|
22433
22551
|
kind: n,
|
|
22434
22552
|
align: n === "grid" ? "min" : e.guide.align === "stretch" || n === e.guide.kind ? e.guide.align : "stretch"
|
|
@@ -22450,15 +22568,15 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22450
22568
|
})()
|
|
22451
22569
|
];
|
|
22452
22570
|
}
|
|
22453
|
-
}), a), Q(a, Y(
|
|
22571
|
+
}), a), Q(a, Y(Ow, {})), Q(r, Y(q, {
|
|
22454
22572
|
get when() {
|
|
22455
22573
|
return e.guide.kind !== "grid";
|
|
22456
22574
|
},
|
|
22457
22575
|
get children() {
|
|
22458
|
-
return Y(
|
|
22576
|
+
return Y(jw, {
|
|
22459
22577
|
label: "Count",
|
|
22460
22578
|
get children() {
|
|
22461
|
-
return Y(
|
|
22579
|
+
return Y(Nw, {
|
|
22462
22580
|
label: "Count",
|
|
22463
22581
|
get value() {
|
|
22464
22582
|
return e.guide.count;
|
|
@@ -22472,14 +22590,14 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22472
22590
|
}
|
|
22473
22591
|
}), null), Q(r, Y(Gh, {
|
|
22474
22592
|
label: "Color",
|
|
22475
|
-
columns:
|
|
22593
|
+
columns: Aw,
|
|
22476
22594
|
get value() {
|
|
22477
22595
|
return Rc({
|
|
22478
22596
|
...Ic(e.guide.color) ?? Ic("#FF0000"),
|
|
22479
22597
|
alpha: e.guide.opacity
|
|
22480
22598
|
});
|
|
22481
22599
|
},
|
|
22482
|
-
fallback:
|
|
22600
|
+
fallback: yw,
|
|
22483
22601
|
get ownerWindow() {
|
|
22484
22602
|
return e.ownerWindow;
|
|
22485
22603
|
},
|
|
@@ -22498,15 +22616,15 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22498
22616
|
return e.guide.kind !== "grid";
|
|
22499
22617
|
},
|
|
22500
22618
|
get children() {
|
|
22501
|
-
return Y(
|
|
22619
|
+
return Y(jw, {
|
|
22502
22620
|
label: "Type",
|
|
22503
22621
|
get children() {
|
|
22504
|
-
return Y(
|
|
22622
|
+
return Y(Mw, {
|
|
22505
22623
|
label: "Alignment",
|
|
22506
22624
|
get value() {
|
|
22507
22625
|
return e.guide.align;
|
|
22508
22626
|
},
|
|
22509
|
-
onChange: (t) => e.onUpdate({ align:
|
|
22627
|
+
onChange: (t) => e.onUpdate({ align: Fw(t) }),
|
|
22510
22628
|
get children() {
|
|
22511
22629
|
return Y(xo, {
|
|
22512
22630
|
each: [
|
|
@@ -22530,12 +22648,12 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22530
22648
|
return e.guide.kind === "grid" || e.guide.align !== "stretch";
|
|
22531
22649
|
},
|
|
22532
22650
|
get children() {
|
|
22533
|
-
return Y(
|
|
22651
|
+
return Y(jw, {
|
|
22534
22652
|
get label() {
|
|
22535
22653
|
return n();
|
|
22536
22654
|
},
|
|
22537
22655
|
get children() {
|
|
22538
|
-
return Y(
|
|
22656
|
+
return Y(Nw, {
|
|
22539
22657
|
get label() {
|
|
22540
22658
|
return n();
|
|
22541
22659
|
},
|
|
@@ -22554,10 +22672,10 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22554
22672
|
return e.guide.kind !== "grid";
|
|
22555
22673
|
},
|
|
22556
22674
|
get children() {
|
|
22557
|
-
return [Y(
|
|
22675
|
+
return [Y(jw, {
|
|
22558
22676
|
label: "Offset",
|
|
22559
22677
|
get children() {
|
|
22560
|
-
return Y(
|
|
22678
|
+
return Y(Nw, {
|
|
22561
22679
|
label: "Offset",
|
|
22562
22680
|
get value() {
|
|
22563
22681
|
return e.guide.offset;
|
|
@@ -22567,10 +22685,10 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22567
22685
|
onChange: (t) => e.onUpdate({ offset: t })
|
|
22568
22686
|
});
|
|
22569
22687
|
}
|
|
22570
|
-
}), Y(
|
|
22688
|
+
}), Y(jw, {
|
|
22571
22689
|
label: "Gutter",
|
|
22572
22690
|
get children() {
|
|
22573
|
-
return Y(
|
|
22691
|
+
return Y(Nw, {
|
|
22574
22692
|
label: "Gutter",
|
|
22575
22693
|
get value() {
|
|
22576
22694
|
return e.guide.gutter;
|
|
@@ -22586,7 +22704,7 @@ var gw = "#FF0000", _w = .1, vw = /* @__PURE__ */ new Set([
|
|
|
22586
22704
|
$(a, "onClick", e, t);
|
|
22587
22705
|
}), r;
|
|
22588
22706
|
};
|
|
22589
|
-
function
|
|
22707
|
+
function Lw(e) {
|
|
22590
22708
|
let [t, n] = K(null), r = mo(() => e.guides.find((e) => e.id === t()) ?? null);
|
|
22591
22709
|
var i = X("div", {
|
|
22592
22710
|
"data-mesurer-layout-guides-panel": "true",
|
|
@@ -22635,9 +22753,9 @@ function Pw(e) {
|
|
|
22635
22753
|
class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-400 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900",
|
|
22636
22754
|
onClick: () => e.onRemove(t.id)
|
|
22637
22755
|
});
|
|
22638
|
-
return Z(r, i), Z(r, s), Z(r, c), Z(i, a), Z(i, o), Q(a, Y(
|
|
22756
|
+
return Z(r, i), Z(r, s), Z(r, c), Z(i, a), Z(i, o), Q(a, Y(kw, { get kind() {
|
|
22639
22757
|
return t.kind;
|
|
22640
|
-
} })), Q(o, () =>
|
|
22758
|
+
} })), Q(o, () => Dw(t)), Q(i, Y(_g, {
|
|
22641
22759
|
size: 8,
|
|
22642
22760
|
class: "msr:block msr:-rotate-90 msr:text-ink-400"
|
|
22643
22761
|
}), null), Q(s, (() => {
|
|
@@ -22647,10 +22765,10 @@ function Pw(e) {
|
|
|
22647
22765
|
size: 10,
|
|
22648
22766
|
class: "msr:block"
|
|
22649
22767
|
})), J(() => ({
|
|
22650
|
-
e: t.visible ? `Hide ${
|
|
22768
|
+
e: t.visible ? `Hide ${Dw(t)}` : `Show ${Dw(t)}`,
|
|
22651
22769
|
t: t.visible ? "true" : "false",
|
|
22652
22770
|
a: `msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:outline-none msr:hover:bg-ink-100 ${t.visible ? "msr:text-ink-700" : "msr:text-ink-400"}`,
|
|
22653
|
-
o: `Remove ${
|
|
22771
|
+
o: `Remove ${Dw(t)}`
|
|
22654
22772
|
}), ({ e, t, a: n, o: r }, i) => {
|
|
22655
22773
|
e !== i?.e && $(s, "aria-label", e, i?.e), t !== i?.t && $(s, "aria-pressed", t, i?.t), n !== i?.a && $(s, "class", n, i?.a), r !== i?.o && $(c, "aria-label", r, i?.o);
|
|
22656
22774
|
}), r;
|
|
@@ -22661,7 +22779,7 @@ function Pw(e) {
|
|
|
22661
22779
|
$(a, "onClick", e, t);
|
|
22662
22780
|
}), t;
|
|
22663
22781
|
},
|
|
22664
|
-
children: (t) => Y(
|
|
22782
|
+
children: (t) => Y(Iw, {
|
|
22665
22783
|
get guide() {
|
|
22666
22784
|
return t();
|
|
22667
22785
|
},
|
|
@@ -22673,56 +22791,56 @@ function Pw(e) {
|
|
|
22673
22791
|
})
|
|
22674
22792
|
})), i;
|
|
22675
22793
|
}
|
|
22676
|
-
var
|
|
22794
|
+
var Rw = "mesurer.layout-guides", zw = "layout-guides:v1", Bw = "mesurer.layout-guides.pages", Vw = "mesurer.layout-guides.active", Hw = "runtime:solid", Uw = "layout-guides.toggle", Ww = "layout-guides.add", Gw = "layout-guides.update", Kw = "layout-guides.remove", qw = "layout-guides.clear", Jw = 240, Yw = 8, Xw = 8, Zw = () => ({ pages: {} }), Qw = (e, t) => e.pages[t] ?? [], $w = (e) => typeof e == "object" && !!e && !Array.isArray(e), eT = (e) => typeof e == "string", tT = (e) => typeof e == "boolean", nT = (e) => typeof e == "number", rT = (e) => e === "columns" || e === "rows" || e === "grid", iT = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", aT = (e) => ({ ...e }), oT = (e) => e.map(aT), sT = (e) => $w(e) ? e : null, cT = (e) => {
|
|
22677
22795
|
if (!e) return {};
|
|
22678
22796
|
let t = {};
|
|
22679
|
-
return
|
|
22680
|
-
},
|
|
22797
|
+
return eT(e.id) && (t.id = e.id), rT(e.kind) && (t.kind = e.kind), tT(e.visible) && (t.visible = e.visible), eT(e.color) && (t.color = e.color), nT(e.opacity) && (t.opacity = e.opacity), nT(e.count) && (t.count = e.count), nT(e.size) && (t.size = e.size), nT(e.gutter) && (t.gutter = e.gutter), nT(e.offset) && (t.offset = e.offset), iT(e.align) && (t.align = e.align), t;
|
|
22798
|
+
}, lT = (e) => {
|
|
22681
22799
|
let t = {};
|
|
22682
22800
|
return e.id !== void 0 && (t.id = e.id), e.kind !== void 0 && (t.kind = e.kind), e.visible !== void 0 && (t.visible = e.visible), e.color !== void 0 && (t.color = e.color), e.opacity !== void 0 && (t.opacity = e.opacity), e.count !== void 0 && (t.count = e.count), e.size !== void 0 && (t.size = e.size), e.gutter !== void 0 && (t.gutter = e.gutter), e.offset !== void 0 && (t.offset = e.offset), e.align !== void 0 && (t.align = e.align), t;
|
|
22683
|
-
},
|
|
22801
|
+
}, uT = {
|
|
22684
22802
|
viewBox: "0 0 256 256",
|
|
22685
22803
|
paths: ["M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z", "M101 56h8v144h-8zM147 56h8v144h-8z"]
|
|
22686
|
-
},
|
|
22687
|
-
id:
|
|
22804
|
+
}, dT = () => kc({
|
|
22805
|
+
id: Rw,
|
|
22688
22806
|
version: "0.1.0",
|
|
22689
|
-
requires: [
|
|
22690
|
-
provides: [
|
|
22807
|
+
requires: [Hw],
|
|
22808
|
+
provides: [zw, "tool:layout-guides"],
|
|
22691
22809
|
setup(e) {
|
|
22692
|
-
let t = e.service.get(
|
|
22810
|
+
let t = e.service.get(Hw);
|
|
22693
22811
|
if (!t) throw Error("Layout Guides requires the Solid renderer runtime.");
|
|
22694
22812
|
let n = t.rendererRoot;
|
|
22695
22813
|
if (!n) throw Error("Layout Guides requires a mounted renderer root.");
|
|
22696
22814
|
e.state.register({
|
|
22697
|
-
id:
|
|
22698
|
-
initial:
|
|
22815
|
+
id: Bw,
|
|
22816
|
+
initial: Zw(),
|
|
22699
22817
|
history: !0,
|
|
22700
22818
|
persist: !0
|
|
22701
22819
|
}), e.state.register({
|
|
22702
|
-
id:
|
|
22820
|
+
id: Vw,
|
|
22703
22821
|
initial: !1
|
|
22704
22822
|
});
|
|
22705
|
-
let r = Ul(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ??
|
|
22706
|
-
e.state.update(
|
|
22823
|
+
let r = Ul(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? Zw(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => Ew(Qw(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
|
|
22824
|
+
e.state.update(Vw, () => t);
|
|
22707
22825
|
}, m = (t) => {
|
|
22708
|
-
e.state.update(
|
|
22826
|
+
e.state.update(Bw, (e) => ({
|
|
22709
22827
|
...e,
|
|
22710
22828
|
pages: {
|
|
22711
22829
|
...e.pages,
|
|
22712
|
-
[r]:
|
|
22830
|
+
[r]: oT(t(Ew(e.pages[r])))
|
|
22713
22831
|
}
|
|
22714
22832
|
}));
|
|
22715
22833
|
};
|
|
22716
|
-
e.command.register(
|
|
22834
|
+
e.command.register(Uw, () => {
|
|
22717
22835
|
let e = !u();
|
|
22718
|
-
return e && d().length === 0 && m(() => [
|
|
22719
|
-
}), e.command.register(
|
|
22720
|
-
let t =
|
|
22836
|
+
return e && d().length === 0 && m(() => [Tw()]), i = e, p(e), u();
|
|
22837
|
+
}), e.command.register(Ww, (e) => {
|
|
22838
|
+
let t = Tw(cT(sT(e)));
|
|
22721
22839
|
return m((e) => [...e, t]), { ...t };
|
|
22722
|
-
}), e.command.register(
|
|
22723
|
-
let t =
|
|
22840
|
+
}), e.command.register(Gw, (e) => {
|
|
22841
|
+
let t = sT(e), n = t && eT(t.id) ? t.id : null, r = cT(sT(t?.patch));
|
|
22724
22842
|
if (!n) throw Error("layout-guides.update requires a guide id.");
|
|
22725
|
-
m((e) => e.map((e) => e.id === n ?
|
|
22843
|
+
m((e) => e.map((e) => e.id === n ? Tw({
|
|
22726
22844
|
...e,
|
|
22727
22845
|
...r,
|
|
22728
22846
|
id: e.id
|
|
@@ -22730,30 +22848,30 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22730
22848
|
let i = d().find((e) => e.id === n);
|
|
22731
22849
|
if (!i) throw Error(`Layout guide not found: ${n}`);
|
|
22732
22850
|
return { ...i };
|
|
22733
|
-
}), e.command.register(
|
|
22734
|
-
let t =
|
|
22851
|
+
}), e.command.register(Kw, (e) => {
|
|
22852
|
+
let t = sT(e), n = t && eT(t.id) ? t.id : null;
|
|
22735
22853
|
if (!n) throw Error("layout-guides.remove requires a guide id.");
|
|
22736
22854
|
let r = d().length;
|
|
22737
22855
|
return m((e) => e.filter((e) => e.id !== n)), d().length !== r;
|
|
22738
|
-
}), e.command.register(
|
|
22856
|
+
}), e.command.register(qw, () => {
|
|
22739
22857
|
m(() => []);
|
|
22740
22858
|
});
|
|
22741
22859
|
let h = async (t, n) => {
|
|
22742
|
-
let r =
|
|
22860
|
+
let r = sT(await e.command.execute(t, n));
|
|
22743
22861
|
if (!r) throw Error(`${t} did not return a layout guide.`);
|
|
22744
|
-
return
|
|
22862
|
+
return Tw(cT(r));
|
|
22745
22863
|
}, g = {
|
|
22746
22864
|
list: () => d().map((e) => ({ ...e })),
|
|
22747
|
-
add: (e = {}) => h(
|
|
22748
|
-
update: (e, t) => h(
|
|
22865
|
+
add: (e = {}) => h(Ww, lT(e)),
|
|
22866
|
+
update: (e, t) => h(Gw, {
|
|
22749
22867
|
id: e,
|
|
22750
|
-
patch:
|
|
22868
|
+
patch: lT(t)
|
|
22751
22869
|
}),
|
|
22752
22870
|
async remove(t) {
|
|
22753
|
-
return await e.command.execute(
|
|
22871
|
+
return await e.command.execute(Kw, { id: t }) === !0;
|
|
22754
22872
|
},
|
|
22755
22873
|
async clear() {
|
|
22756
|
-
await e.command.execute(
|
|
22874
|
+
await e.command.execute(qw);
|
|
22757
22875
|
},
|
|
22758
22876
|
subscribe(e) {
|
|
22759
22877
|
s.add(e);
|
|
@@ -22763,27 +22881,27 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22763
22881
|
};
|
|
22764
22882
|
}
|
|
22765
22883
|
};
|
|
22766
|
-
e.service.provide(
|
|
22884
|
+
e.service.provide(zw, g), e.tool.register({
|
|
22767
22885
|
id: "layout-guides",
|
|
22768
22886
|
label: "Layout guides",
|
|
22769
22887
|
shortcut: "L",
|
|
22770
|
-
command:
|
|
22888
|
+
command: Uw,
|
|
22771
22889
|
order: 38,
|
|
22772
22890
|
toolbarMode: "always",
|
|
22773
22891
|
compactPinned: !0,
|
|
22774
|
-
icon:
|
|
22892
|
+
icon: uT,
|
|
22775
22893
|
active: u
|
|
22776
22894
|
});
|
|
22777
22895
|
let _ = t.ownerDocument.createElement("div");
|
|
22778
22896
|
_.dataset.mesurerLayoutGuidesRoot = "true", _.dataset.mesurerLayer = "evidence", _.style.position = "absolute", _.style.inset = "0", _.style.pointerEvents = "none", n.prepend(_);
|
|
22779
|
-
let v = rc(() => Y(
|
|
22897
|
+
let v = rc(() => Y(vw, { get guides() {
|
|
22780
22898
|
return f();
|
|
22781
22899
|
} }), _), y = t.createInspectorMount();
|
|
22782
22900
|
y.element.dataset.mesurerLayoutGuidesPanelRoot = "true", Object.assign(y.element.style, {
|
|
22783
22901
|
position: "fixed",
|
|
22784
22902
|
left: "0",
|
|
22785
22903
|
top: "0",
|
|
22786
|
-
width: `${
|
|
22904
|
+
width: `${Jw}px`,
|
|
22787
22905
|
zIndex: "100",
|
|
22788
22906
|
pointerEvents: "none",
|
|
22789
22907
|
display: "none"
|
|
@@ -22792,13 +22910,13 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22792
22910
|
if (c = 0, !i) return;
|
|
22793
22911
|
let e = t.portalTarget.querySelector("[data-mesurer-tool-id='layout-guides']");
|
|
22794
22912
|
if (!e) return;
|
|
22795
|
-
let n = e.getBoundingClientRect(), r = Math.min(Math.max(
|
|
22913
|
+
let n = e.getBoundingClientRect(), r = Math.min(Math.max(Xw, n.right - Jw), Math.max(Xw, t.ownerWindow.innerWidth - Jw - Xw)), a = t.ownerWindow.innerHeight - n.bottom - Yw - Xw, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + Yw : Math.max(Xw, n.top - Yw - o);
|
|
22796
22914
|
y.element.style.left = `${r}px`, y.element.style.top = `${s}px`;
|
|
22797
22915
|
}, x = () => {
|
|
22798
22916
|
c ||= t.ownerWindow.requestAnimationFrame(b);
|
|
22799
22917
|
}, S = () => {
|
|
22800
22918
|
y.element.style.display = i ? "block" : "none", i && x();
|
|
22801
|
-
}, C = rc(() => Y(
|
|
22919
|
+
}, C = rc(() => Y(Lw, {
|
|
22802
22920
|
get guides() {
|
|
22803
22921
|
return f();
|
|
22804
22922
|
},
|
|
@@ -22833,11 +22951,11 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22833
22951
|
t.ownerDocument.removeEventListener("pointerdown", D, !0), t.ownerDocument.removeEventListener("keydown", O, !0), t.ownerWindow.removeEventListener("resize", x), t.ownerWindow.removeEventListener("pointerup", x, !0), c && t.ownerWindow.cancelAnimationFrame(c), c = 0, s.clear(), T.dispose(), E(), C(), y.dispose(), v(), _.remove();
|
|
22834
22952
|
});
|
|
22835
22953
|
}
|
|
22836
|
-
}),
|
|
22954
|
+
}), fT = "mesurer:recording-bridge-ping", pT = "mesurer:recording-bridge-request", mT = "mesurer:recording-bridge-response", hT = "position:fixed;left:0;top:0;width:1px;height:1px;margin:0;padding:0;border:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none", gT = .01, _T = (e) => ({
|
|
22837
22955
|
width: e.innerWidth,
|
|
22838
22956
|
height: e.innerHeight
|
|
22839
|
-
}),
|
|
22840
|
-
let i = Math.max(1, r.width), a = Math.max(1, r.height), o = t / i, s = n / a, c = Math.abs(o - s) <=
|
|
22957
|
+
}), vT = (e, t, n, r) => {
|
|
22958
|
+
let i = Math.max(1, r.width), a = Math.max(1, r.height), o = t / i, s = n / a, c = Math.abs(o - s) <= gT * Math.max(o, s), l = c ? o : Math.min(o, s), u = c ? 0 : (t - i * l) / 2, d = c ? 0 : (n - a * l) / 2, f = c ? o : l, p = c ? s : l, m = u + e.left * f, h = d + e.top * p, g = u + (e.left + e.width) * f, _ = d + (e.top + e.height) * p, v = Math.max(g - m, 1e-6), y = Math.max(_ - h, 1e-6), b = Math.max(0, Math.min(t, m)), x = Math.max(0, Math.min(n, h)), S = Math.max(0, Math.min(t, g)), C = Math.max(0, Math.min(n, _)), w = Math.max(0, Math.round(b)), T = Math.max(0, Math.round(x)), E = Math.min(t, Math.round(S)), D = Math.min(n, Math.round(C));
|
|
22841
22959
|
return {
|
|
22842
22960
|
sx: w,
|
|
22843
22961
|
sy: T,
|
|
@@ -22848,15 +22966,15 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22848
22966
|
dw: Math.max(0, S - b) / v,
|
|
22849
22967
|
dh: Math.max(0, C - x) / y
|
|
22850
22968
|
};
|
|
22851
|
-
},
|
|
22969
|
+
}, yT = (e, t) => {
|
|
22852
22970
|
let n = e.createElement("div");
|
|
22853
22971
|
return n.dataset.mesurerRecordingCrop = "true", n.setAttribute("aria-hidden", "true"), n.style.position = "fixed", n.style.left = `${t.left}px`, n.style.top = `${t.top}px`, n.style.width = `${t.width}px`, n.style.height = `${t.height}px`, n.style.margin = "0", n.style.padding = "0", n.style.border = "0", n.style.background = "transparent", n.style.opacity = "0", n.style.pointerEvents = "none", e.body.append(n), n;
|
|
22854
|
-
},
|
|
22972
|
+
}, bT = async (e, t) => {
|
|
22855
22973
|
let n = e.cropTo, r = globalThis.CropTarget;
|
|
22856
22974
|
if (!n || !r) return !1;
|
|
22857
22975
|
let i = await r.fromElement(t);
|
|
22858
22976
|
return await n.call(e, i), !0;
|
|
22859
|
-
},
|
|
22977
|
+
}, xT = (e, t) => new Promise((n) => {
|
|
22860
22978
|
let r = !1, i = () => {
|
|
22861
22979
|
r || (r = !0, t.clearTimeout(a), n());
|
|
22862
22980
|
}, a = t.setTimeout(i, 250), o = e;
|
|
@@ -22865,20 +22983,20 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22865
22983
|
return;
|
|
22866
22984
|
}
|
|
22867
22985
|
t.requestAnimationFrame(i);
|
|
22868
|
-
}),
|
|
22986
|
+
}), ST = (e) => e.location.origin === "null" ? "*" : e.location.origin, CT = (e, t, n = "") => `${e}:${t}:${n}`, wT = (e, t, n) => {
|
|
22869
22987
|
let r = `${t}:${n}:`;
|
|
22870
22988
|
return e.startsWith(r) ? e.slice(r.length) : null;
|
|
22871
|
-
},
|
|
22872
|
-
let n =
|
|
22873
|
-
o.source === e && o.origin === r &&
|
|
22989
|
+
}, TT = (e) => e.crypto?.randomUUID?.() ?? `mesurer-recording-${Date.now()}-${Math.random().toString(36).slice(2)}`, ET = (e) => new Promise((t) => {
|
|
22990
|
+
let n = TT(e), r = e.location.origin, i = (o) => {
|
|
22991
|
+
o.source === e && o.origin === r && wT(String(o.data ?? ""), "mesurer:recording-bridge-pong", n) !== null && (e.removeEventListener("message", i), e.clearTimeout(a), t(!0));
|
|
22874
22992
|
}, a = e.setTimeout(() => {
|
|
22875
22993
|
e.removeEventListener("message", i), t(!1);
|
|
22876
22994
|
}, 80);
|
|
22877
|
-
e.addEventListener("message", i), e.postMessage(
|
|
22878
|
-
}),
|
|
22879
|
-
let n =
|
|
22995
|
+
e.addEventListener("message", i), e.postMessage(CT(fT, n), ST(e));
|
|
22996
|
+
}), DT = (e) => new Promise((t) => {
|
|
22997
|
+
let n = TT(e), r = e.location.origin, i = (o) => {
|
|
22880
22998
|
if (o.source !== e || o.origin !== r) return;
|
|
22881
|
-
let s =
|
|
22999
|
+
let s = wT(String(o.data ?? ""), mT, n);
|
|
22882
23000
|
if (s !== null) {
|
|
22883
23001
|
if (e.removeEventListener("message", i), e.clearTimeout(a), !s.startsWith("ok:")) {
|
|
22884
23002
|
t(null);
|
|
@@ -22889,9 +23007,9 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22889
23007
|
}, a = e.setTimeout(() => {
|
|
22890
23008
|
e.removeEventListener("message", i), t(null);
|
|
22891
23009
|
}, 1500);
|
|
22892
|
-
e.addEventListener("message", i), e.postMessage(
|
|
22893
|
-
}),
|
|
22894
|
-
let n =
|
|
23010
|
+
e.addEventListener("message", i), e.postMessage(CT(pT, n), ST(e));
|
|
23011
|
+
}), OT = (e) => e.__MESURER_RECORDING_HOST__?.captureRecordingStream ?? e.__MESURER_HOST__?.captureRecordingStream, kT = async (e, t) => {
|
|
23012
|
+
let n = OT(e);
|
|
22895
23013
|
if (!n) throw Error("Native recording capture is unavailable.");
|
|
22896
23014
|
let r = (await n())?.streamId?.trim();
|
|
22897
23015
|
if (!r) throw Error("Native recording capture returned no stream id.");
|
|
@@ -22903,9 +23021,9 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22903
23021
|
audio: !1,
|
|
22904
23022
|
video: i
|
|
22905
23023
|
});
|
|
22906
|
-
},
|
|
22907
|
-
if (!e.isSecureContext || !await
|
|
22908
|
-
let n = await
|
|
23024
|
+
}, AT = async (e, t) => {
|
|
23025
|
+
if (!e.isSecureContext || !await ET(e)) return null;
|
|
23026
|
+
let n = await DT(e);
|
|
22909
23027
|
if (!n) return null;
|
|
22910
23028
|
let r = { mandatory: {
|
|
22911
23029
|
chromeMediaSource: "tab",
|
|
@@ -22915,7 +23033,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22915
23033
|
audio: !1,
|
|
22916
23034
|
video: r
|
|
22917
23035
|
});
|
|
22918
|
-
},
|
|
23036
|
+
}, jT = async (e, t) => {
|
|
22919
23037
|
let n = e.getVideoTracks()[0];
|
|
22920
23038
|
if (!n?.applyConstraints) return e;
|
|
22921
23039
|
try {
|
|
@@ -22925,13 +23043,13 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22925
23043
|
} });
|
|
22926
23044
|
} catch {}
|
|
22927
23045
|
return e;
|
|
22928
|
-
},
|
|
23046
|
+
}, MT = async (e, t) => {
|
|
22929
23047
|
let n = e.navigator.mediaDevices;
|
|
22930
23048
|
if (!n) throw Error("Screen recording is unavailable in this browser.");
|
|
22931
|
-
if (
|
|
23049
|
+
if (OT(e)) return jT(await kT(e, n), t);
|
|
22932
23050
|
try {
|
|
22933
|
-
let r = await
|
|
22934
|
-
if (r) return
|
|
23051
|
+
let r = await AT(e, n);
|
|
23052
|
+
if (r) return jT(r, t);
|
|
22935
23053
|
} catch {}
|
|
22936
23054
|
if (!n.getDisplayMedia) throw Error("Screen recording is unavailable in this browser.");
|
|
22937
23055
|
let r = {
|
|
@@ -22947,33 +23065,33 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22947
23065
|
selfBrowserSurface: "include"
|
|
22948
23066
|
};
|
|
22949
23067
|
try {
|
|
22950
|
-
return
|
|
23068
|
+
return jT(await n.getDisplayMedia(i), t);
|
|
22951
23069
|
} catch (e) {
|
|
22952
23070
|
if (e instanceof DOMException && e.name === "AbortError") throw e;
|
|
22953
|
-
return
|
|
23071
|
+
return jT(await n.getDisplayMedia({
|
|
22954
23072
|
audio: !1,
|
|
22955
23073
|
video: { frameRate: r }
|
|
22956
23074
|
}), t);
|
|
22957
23075
|
}
|
|
22958
|
-
},
|
|
22959
|
-
let i = await
|
|
23076
|
+
}, NT = async (e, t, n, r = 60) => {
|
|
23077
|
+
let i = await MT(t, r), a = i.getVideoTracks()[0];
|
|
22960
23078
|
if (!a) throw i.getTracks().forEach((e) => e.stop()), Error("No video track was selected.");
|
|
22961
23079
|
if (a.getSettings().displaySurface && a.getSettings().displaySurface !== "browser") throw i.getTracks().forEach((e) => e.stop()), Error("Select the current browser tab to record this region.");
|
|
22962
23080
|
let o = e.createElement("video");
|
|
22963
|
-
o.autoplay = !0, o.muted = !0, o.playsInline = !0, o.srcObject = i, o.setAttribute("playsinline", ""), o.setAttribute("aria-hidden", "true"), o.style.cssText =
|
|
23081
|
+
o.autoplay = !0, o.muted = !0, o.playsInline = !0, o.srcObject = i, o.setAttribute("playsinline", ""), o.setAttribute("aria-hidden", "true"), o.style.cssText = hT, e.body.append(o);
|
|
22964
23082
|
try {
|
|
22965
23083
|
await o.play(), (o.videoWidth <= 0 || o.videoHeight <= 0) && await new Promise((e, t) => {
|
|
22966
23084
|
o.addEventListener("loadeddata", () => e(), { once: !0 }), o.addEventListener("error", () => t(/* @__PURE__ */ Error("Could not read the selected video track.")), { once: !0 });
|
|
22967
23085
|
});
|
|
22968
|
-
let r =
|
|
23086
|
+
let r = yT(e, n), s = !1;
|
|
22969
23087
|
try {
|
|
22970
|
-
s = await
|
|
23088
|
+
s = await bT(a, r);
|
|
22971
23089
|
} catch {
|
|
22972
23090
|
s = !1;
|
|
22973
23091
|
}
|
|
22974
|
-
s || r.remove(), await
|
|
22975
|
-
let c = t.devicePixelRatio || 1, l =
|
|
22976
|
-
u.width = s ? Math.max(2, Math.round(n.width * c)) : l.sw, u.height = s ? Math.max(2, Math.round(n.height * c)) : l.sh, u.setAttribute("aria-hidden", "true"), u.style.cssText =
|
|
23092
|
+
s || r.remove(), await xT(o, t);
|
|
23093
|
+
let c = t.devicePixelRatio || 1, l = vT(n, o.videoWidth, o.videoHeight, _T(t)), u = e.createElement("canvas");
|
|
23094
|
+
u.width = s ? Math.max(2, Math.round(n.width * c)) : l.sw, u.height = s ? Math.max(2, Math.round(n.height * c)) : l.sh, u.setAttribute("aria-hidden", "true"), u.style.cssText = hT, e.body.append(u);
|
|
22977
23095
|
let d = u.getContext("2d", { alpha: !1 });
|
|
22978
23096
|
if (!d) throw u.remove(), Error("Screen recording requires a 2D canvas.");
|
|
22979
23097
|
let f = {
|
|
@@ -22985,32 +23103,32 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
22985
23103
|
cropTarget: s ? r : null,
|
|
22986
23104
|
regionLocked: s
|
|
22987
23105
|
};
|
|
22988
|
-
return
|
|
23106
|
+
return PT(f, n, _T(t)), f;
|
|
22989
23107
|
} catch (e) {
|
|
22990
23108
|
throw o.pause(), o.srcObject = null, o.remove(), i.getTracks().forEach((e) => e.stop()), e;
|
|
22991
23109
|
}
|
|
22992
|
-
},
|
|
23110
|
+
}, PT = (e, t, n) => {
|
|
22993
23111
|
let { source: r, canvas: i, context: a, regionLocked: o } = e;
|
|
22994
23112
|
if (r.videoWidth <= 0 || r.videoHeight <= 0) return;
|
|
22995
23113
|
if (o) {
|
|
22996
23114
|
a.drawImage(r, 0, 0, i.width, i.height);
|
|
22997
23115
|
return;
|
|
22998
23116
|
}
|
|
22999
|
-
let s =
|
|
23117
|
+
let s = vT(t, r.videoWidth, r.videoHeight, n), c = s.dx <= .001 && s.dy <= .001 && s.dw >= .999 && s.dh >= .999, l = c ? 0 : s.dx * i.width, u = c ? 0 : s.dy * i.height, d = c ? i.width : s.dw * i.width, f = c ? i.height : s.dh * i.height;
|
|
23000
23118
|
c || (a.fillStyle = "#000", a.fillRect(0, 0, i.width, i.height)), !(d < 1 || f < 1 || s.dw <= 0 || s.dh <= 0) && a.drawImage(r, s.sx, s.sy, s.sw, s.sh, l, u, d, f);
|
|
23001
|
-
},
|
|
23119
|
+
}, FT = (e) => {
|
|
23002
23120
|
e.source.pause(), e.source.srcObject = null, e.stream.getTracks().forEach((e) => e.stop()), e.cropTarget?.remove(), e.canvas.remove(), e.source.remove();
|
|
23003
|
-
},
|
|
23121
|
+
}, IT = {
|
|
23004
23122
|
webm: "video/webm",
|
|
23005
23123
|
mp4: "video/mp4"
|
|
23006
|
-
},
|
|
23007
|
-
let r = Math.max(2, Math.round(
|
|
23124
|
+
}, LT = ["vp9", "vp8"], RT = ["avc"], zT = (e) => new c(e), BT = (e, t) => Number.isFinite(e) && e > 0 ? e : t, VT = (e, t, n) => {
|
|
23125
|
+
let r = Math.max(2, Math.round(BT(e, 2))), i = Math.max(2, Math.round(BT(t, 2)));
|
|
23008
23126
|
return n === "mp4" && (r % 2 != 0 && (r += 1), i % 2 != 0 && (i += 1)), {
|
|
23009
23127
|
width: r,
|
|
23010
23128
|
height: i
|
|
23011
23129
|
};
|
|
23012
|
-
},
|
|
23013
|
-
let n = Math.max(.001,
|
|
23130
|
+
}, HT = (e, t = {}) => {
|
|
23131
|
+
let n = Math.max(.001, BT(e.duration, .001)), r = Math.min(n, Math.max(0, Number.isFinite(t.startTime) ? t.startTime ?? 0 : 0)), i = Number.isFinite(t.endTime) ? t.endTime ?? n : n, a = Math.min(n, Math.max(r + .001, i));
|
|
23014
23132
|
return {
|
|
23015
23133
|
format: t.format ?? "webm",
|
|
23016
23134
|
startTime: r,
|
|
@@ -23018,33 +23136,33 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23018
23136
|
scale: t.scale ?? 1,
|
|
23019
23137
|
quality: t.quality ?? "medium"
|
|
23020
23138
|
};
|
|
23021
|
-
},
|
|
23022
|
-
let a =
|
|
23023
|
-
for (let t of
|
|
23139
|
+
}, UT = (e) => e === "webm" ? LT : RT, WT = async (e, t, n, r, i = "medium") => {
|
|
23140
|
+
let a = VT(t, n, e), o = zT(i);
|
|
23141
|
+
for (let t of UT(e)) if (await u(t, {
|
|
23024
23142
|
width: a.width,
|
|
23025
23143
|
height: a.height,
|
|
23026
23144
|
frameRate: r,
|
|
23027
23145
|
quality: o
|
|
23028
23146
|
})) return t;
|
|
23029
23147
|
return null;
|
|
23030
|
-
},
|
|
23148
|
+
}, GT = async (e, t, n = 30) => {
|
|
23031
23149
|
let r = [];
|
|
23032
|
-
return await
|
|
23033
|
-
},
|
|
23034
|
-
let i = t.format ?? "webm", a = Math.max(1, Math.min(120, Math.round(t.frameRate ?? 30))), o = t.quality ?? "medium", c = e.width, l = e.height, u = await
|
|
23150
|
+
return await WT("webm", e, t, n) && r.push("webm"), await WT("mp4", e, t, n) && r.push("mp4"), r;
|
|
23151
|
+
}, KT = (e) => e === "webm" ? new l() : new o(), qT = async (e, t = {}) => {
|
|
23152
|
+
let i = t.format ?? "webm", a = Math.max(1, Math.min(120, Math.round(t.frameRate ?? 30))), o = t.quality ?? "medium", c = e.width, l = e.height, u = await WT(i, c, l, a, o);
|
|
23035
23153
|
if (!u) throw Error(`MediaBunny cannot encode ${i.toUpperCase()} at ${c}×${l} in this runtime.`);
|
|
23036
23154
|
let d = new n(), f = new s({
|
|
23037
|
-
format:
|
|
23155
|
+
format: KT(i),
|
|
23038
23156
|
target: d
|
|
23039
23157
|
}), p = new r(e, {
|
|
23040
23158
|
codec: u,
|
|
23041
|
-
quality:
|
|
23159
|
+
quality: zT(o)
|
|
23042
23160
|
});
|
|
23043
23161
|
f.addVideoTrack(p, { frameRate: a }), await f.start();
|
|
23044
23162
|
let m = !1, h = -1;
|
|
23045
23163
|
return {
|
|
23046
23164
|
format: i,
|
|
23047
|
-
mimeType:
|
|
23165
|
+
mimeType: IT[i],
|
|
23048
23166
|
codec: u,
|
|
23049
23167
|
async addFrame(e, t = 1 / a) {
|
|
23050
23168
|
if (m) throw Error("Recording session is already closed.");
|
|
@@ -23056,7 +23174,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23056
23174
|
finalize: async () => {
|
|
23057
23175
|
if (m) throw Error("Recording session is already closed.");
|
|
23058
23176
|
if (m = !0, p.close(), await f.finalize(), !d.buffer || d.buffer.byteLength === 0) throw Error("MediaBunny produced an empty recording.");
|
|
23059
|
-
return new Blob([d.buffer], { type:
|
|
23177
|
+
return new Blob([d.buffer], { type: IT[i] });
|
|
23060
23178
|
},
|
|
23061
23179
|
async cancel() {
|
|
23062
23180
|
if (!m) {
|
|
@@ -23067,7 +23185,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23067
23185
|
}
|
|
23068
23186
|
}
|
|
23069
23187
|
};
|
|
23070
|
-
},
|
|
23188
|
+
}, JT = async (n) => {
|
|
23071
23189
|
let r = new a({
|
|
23072
23190
|
source: new t(n),
|
|
23073
23191
|
formats: e
|
|
@@ -23089,14 +23207,14 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23089
23207
|
} finally {
|
|
23090
23208
|
r.dispose();
|
|
23091
23209
|
}
|
|
23092
|
-
},
|
|
23093
|
-
let c = await
|
|
23210
|
+
}, YT = async (r, o = {}) => {
|
|
23211
|
+
let c = await JT(r), l = HT(c, o), u = VT(c.width * l.scale, c.height * l.scale, l.format), d = await WT(l.format, u.width, u.height, 30, l.quality);
|
|
23094
23212
|
if (!d) throw Error(`MediaBunny cannot export ${l.format.toUpperCase()} in this runtime.`);
|
|
23095
23213
|
let f = new a({
|
|
23096
23214
|
source: new t(r),
|
|
23097
23215
|
formats: e
|
|
23098
23216
|
}), p = new n(), m = new s({
|
|
23099
|
-
format:
|
|
23217
|
+
format: KT(l.format),
|
|
23100
23218
|
target: p
|
|
23101
23219
|
});
|
|
23102
23220
|
try {
|
|
@@ -23112,14 +23230,14 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23112
23230
|
width: u.width,
|
|
23113
23231
|
height: u.height,
|
|
23114
23232
|
fit: "fill",
|
|
23115
|
-
quality:
|
|
23233
|
+
quality: zT(l.quality),
|
|
23116
23234
|
forceTranscode: !0
|
|
23117
23235
|
},
|
|
23118
23236
|
audio: { discard: !0 }
|
|
23119
23237
|
});
|
|
23120
23238
|
if (!e.isValid) throw Error(`MediaBunny cannot convert this recording to ${l.format.toUpperCase()}.`);
|
|
23121
23239
|
if (await e.execute(), !p.buffer || p.buffer.byteLength === 0) throw Error("MediaBunny produced an empty export.");
|
|
23122
|
-
let t = new Blob([p.buffer], { type:
|
|
23240
|
+
let t = new Blob([p.buffer], { type: IT[l.format] }), n = await JT(t);
|
|
23123
23241
|
return {
|
|
23124
23242
|
blob: t,
|
|
23125
23243
|
format: l.format,
|
|
@@ -23130,11 +23248,11 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23130
23248
|
} finally {
|
|
23131
23249
|
f.dispose();
|
|
23132
23250
|
}
|
|
23133
|
-
},
|
|
23251
|
+
}, XT = (e, t = /* @__PURE__ */ new Date()) => `mesurer-recording-${t.toISOString().replace(/[:.]/g, "-")}.${e}`, ZT = 10, QT = (e, t) => {
|
|
23134
23252
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
23135
|
-
},
|
|
23253
|
+
}, $T = (e, t, n) => {
|
|
23136
23254
|
let r = e.createElement("button");
|
|
23137
|
-
return r.type = "button", r.setAttribute("aria-label", t), r.title = t, r.textContent = n,
|
|
23255
|
+
return r.type = "button", r.setAttribute("aria-label", t), r.title = t, r.textContent = n, QT(r, {
|
|
23138
23256
|
display: "inline-flex",
|
|
23139
23257
|
width: "20px",
|
|
23140
23258
|
height: "20px",
|
|
@@ -23150,9 +23268,9 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23150
23268
|
"line-height": "1",
|
|
23151
23269
|
cursor: "pointer"
|
|
23152
23270
|
}), r;
|
|
23153
|
-
},
|
|
23271
|
+
}, eE = (e, t) => {
|
|
23154
23272
|
let n = e.createElement("button");
|
|
23155
|
-
n.type = "button", n.setAttribute("role", "menuitemradio"),
|
|
23273
|
+
n.type = "button", n.setAttribute("role", "menuitemradio"), QT(n, {
|
|
23156
23274
|
display: "grid",
|
|
23157
23275
|
width: "100%",
|
|
23158
23276
|
height: "28px",
|
|
@@ -23177,9 +23295,9 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23177
23295
|
check: r,
|
|
23178
23296
|
text: i
|
|
23179
23297
|
};
|
|
23180
|
-
},
|
|
23298
|
+
}, tE = ({ ownerDocument: e, root: t }) => {
|
|
23181
23299
|
let n = e.createElement("section");
|
|
23182
|
-
n.dataset.mesurerRecordingPreview = "true", n.dataset.mesurerInspectorUi = "true", n.setAttribute("role", "dialog"), n.setAttribute("aria-label", "Screen recording editor"), n.tabIndex = 0,
|
|
23300
|
+
n.dataset.mesurerRecordingPreview = "true", n.dataset.mesurerInspectorUi = "true", n.setAttribute("role", "dialog"), n.setAttribute("aria-label", "Screen recording editor"), n.tabIndex = 0, QT(n, {
|
|
23183
23301
|
position: "fixed",
|
|
23184
23302
|
display: "none",
|
|
23185
23303
|
width: "352px",
|
|
@@ -23200,7 +23318,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23200
23318
|
transition: "width 200ms ease"
|
|
23201
23319
|
}), t.append(n);
|
|
23202
23320
|
let r = e.createElement("div");
|
|
23203
|
-
|
|
23321
|
+
QT(r, {
|
|
23204
23322
|
position: "relative",
|
|
23205
23323
|
display: "flex",
|
|
23206
23324
|
width: "100%",
|
|
@@ -23215,7 +23333,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23215
23333
|
cursor: "default"
|
|
23216
23334
|
}), n.append(r);
|
|
23217
23335
|
let i = e.createElement("video");
|
|
23218
|
-
i.muted = !0, i.playsInline = !0, i.preload = "auto",
|
|
23336
|
+
i.muted = !0, i.playsInline = !0, i.preload = "auto", QT(i, {
|
|
23219
23337
|
display: "block",
|
|
23220
23338
|
width: "100%",
|
|
23221
23339
|
height: "100%",
|
|
@@ -23225,7 +23343,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23225
23343
|
transition: "max-height 200ms ease"
|
|
23226
23344
|
}), r.append(i);
|
|
23227
23345
|
let a = e.createElement("div");
|
|
23228
|
-
a.dataset.mesurerRecordingExporting = "true", a.textContent = "Exporting…",
|
|
23346
|
+
a.dataset.mesurerRecordingExporting = "true", a.textContent = "Exporting…", QT(a, {
|
|
23229
23347
|
position: "absolute",
|
|
23230
23348
|
inset: "0",
|
|
23231
23349
|
display: "none",
|
|
@@ -23237,8 +23355,8 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23237
23355
|
"font-size": "11px",
|
|
23238
23356
|
"pointer-events": "none"
|
|
23239
23357
|
}), r.append(a);
|
|
23240
|
-
let o =
|
|
23241
|
-
o.dataset.mesurerRecordingDiscard = "true",
|
|
23358
|
+
let o = $T(e, "Close", "×");
|
|
23359
|
+
o.dataset.mesurerRecordingDiscard = "true", QT(o, {
|
|
23242
23360
|
position: "absolute",
|
|
23243
23361
|
top: "6px",
|
|
23244
23362
|
right: "6px",
|
|
@@ -23260,17 +23378,17 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23260
23378
|
o.style.opacity = "0", o.style.pointerEvents = "none";
|
|
23261
23379
|
});
|
|
23262
23380
|
let s = e.createElement("div");
|
|
23263
|
-
|
|
23381
|
+
QT(s, {
|
|
23264
23382
|
display: "flex",
|
|
23265
23383
|
height: "28px",
|
|
23266
23384
|
"align-items": "center",
|
|
23267
23385
|
gap: "8px",
|
|
23268
23386
|
"margin-top": "8px"
|
|
23269
23387
|
}), n.append(s);
|
|
23270
|
-
let c =
|
|
23388
|
+
let c = $T(e, "Play", "▶");
|
|
23271
23389
|
c.dataset.mesurerRecordingPlay = "true", s.append(c);
|
|
23272
23390
|
let l = e.createElement("span");
|
|
23273
|
-
l.dataset.mesurerRecordingCurrentTime = "true", l.textContent = "0:00.00",
|
|
23391
|
+
l.dataset.mesurerRecordingCurrentTime = "true", l.textContent = "0:00.00", QT(l, {
|
|
23274
23392
|
display: "flex",
|
|
23275
23393
|
width: "8ch",
|
|
23276
23394
|
"min-width": "8ch",
|
|
@@ -23284,7 +23402,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23284
23402
|
"white-space": "nowrap"
|
|
23285
23403
|
}), s.append(l);
|
|
23286
23404
|
let u = e.createElement("div");
|
|
23287
|
-
u.dataset.mesurerRecordingTimeline = "true",
|
|
23405
|
+
u.dataset.mesurerRecordingTimeline = "true", QT(u, {
|
|
23288
23406
|
position: "relative",
|
|
23289
23407
|
height: "28px",
|
|
23290
23408
|
"min-width": "0",
|
|
@@ -23293,15 +23411,15 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23293
23411
|
"user-select": "none"
|
|
23294
23412
|
}), s.append(u);
|
|
23295
23413
|
let d = e.createElement("div");
|
|
23296
|
-
d.dataset.mesurerRecordingTimelineTrack = "true",
|
|
23414
|
+
d.dataset.mesurerRecordingTimelineTrack = "true", QT(d, {
|
|
23297
23415
|
position: "absolute",
|
|
23298
|
-
left: `${
|
|
23299
|
-
right: `${
|
|
23416
|
+
left: `${ZT}px`,
|
|
23417
|
+
right: `${ZT}px`,
|
|
23300
23418
|
top: "0",
|
|
23301
23419
|
bottom: "0"
|
|
23302
23420
|
}), u.append(d);
|
|
23303
23421
|
let f = e.createElement("div");
|
|
23304
|
-
f.dataset.mesurerRecordingTimelineRail = "true",
|
|
23422
|
+
f.dataset.mesurerRecordingTimelineRail = "true", QT(f, {
|
|
23305
23423
|
position: "absolute",
|
|
23306
23424
|
left: "0",
|
|
23307
23425
|
right: "0",
|
|
@@ -23313,7 +23431,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23313
23431
|
"pointer-events": "none"
|
|
23314
23432
|
}), d.append(f);
|
|
23315
23433
|
let p = e.createElement("div");
|
|
23316
|
-
p.dataset.mesurerRecordingTimelineClip = "true",
|
|
23434
|
+
p.dataset.mesurerRecordingTimelineClip = "true", QT(p, {
|
|
23317
23435
|
position: "absolute",
|
|
23318
23436
|
top: "21px",
|
|
23319
23437
|
height: "3px",
|
|
@@ -23323,7 +23441,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23323
23441
|
"pointer-events": "none"
|
|
23324
23442
|
}), d.append(p);
|
|
23325
23443
|
let m = e.createElement("div");
|
|
23326
|
-
|
|
23444
|
+
QT(m, {
|
|
23327
23445
|
position: "absolute",
|
|
23328
23446
|
display: "none",
|
|
23329
23447
|
top: "21px",
|
|
@@ -23336,7 +23454,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23336
23454
|
"pointer-events": "none"
|
|
23337
23455
|
}), d.append(m);
|
|
23338
23456
|
let h = e.createElement("div");
|
|
23339
|
-
h.dataset.mesurerRecordingPlayhead = "true",
|
|
23457
|
+
h.dataset.mesurerRecordingPlayhead = "true", QT(h, {
|
|
23340
23458
|
position: "absolute",
|
|
23341
23459
|
top: "21px",
|
|
23342
23460
|
left: "0",
|
|
@@ -23351,7 +23469,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23351
23469
|
}), d.append(h);
|
|
23352
23470
|
let g = (t, n) => {
|
|
23353
23471
|
let r = e.createElement("button");
|
|
23354
|
-
r.type = "button", r.dataset.mesurerRecordingTrimHandle = t, r.setAttribute("role", "slider"), r.setAttribute("aria-label", n), r.setAttribute("aria-valuemin", "0"),
|
|
23472
|
+
r.type = "button", r.dataset.mesurerRecordingTrimHandle = t, r.setAttribute("role", "slider"), r.setAttribute("aria-label", n), r.setAttribute("aria-valuemin", "0"), QT(r, {
|
|
23355
23473
|
position: "absolute",
|
|
23356
23474
|
top: "0",
|
|
23357
23475
|
display: "flex",
|
|
@@ -23374,7 +23492,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23374
23492
|
let a = e.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
23375
23493
|
a.setAttribute("d", t === "start" ? "M3.5 2.5L8.5 7L3.5 11.5" : "M8.5 2.5L3.5 7L8.5 11.5"), a.setAttribute("fill", "none"), a.setAttribute("stroke", "currentColor"), a.setAttribute("stroke-width", "2"), a.setAttribute("stroke-linecap", "round"), a.setAttribute("stroke-linejoin", "round"), i.append(a), r.append(i);
|
|
23376
23494
|
let o = e.createElement("span");
|
|
23377
|
-
return o.setAttribute("aria-hidden", "true"),
|
|
23495
|
+
return o.setAttribute("aria-hidden", "true"), QT(o, {
|
|
23378
23496
|
position: "absolute",
|
|
23379
23497
|
left: "50%",
|
|
23380
23498
|
top: "15px",
|
|
@@ -23385,7 +23503,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23385
23503
|
"pointer-events": "none"
|
|
23386
23504
|
}), r.append(o), d.append(r), r;
|
|
23387
23505
|
}, _ = g("start", "Trim start"), v = g("end", "Trim end"), y = e.createElement("span");
|
|
23388
|
-
y.dataset.mesurerRecordingDuration = "true",
|
|
23506
|
+
y.dataset.mesurerRecordingDuration = "true", QT(y, {
|
|
23389
23507
|
display: "flex",
|
|
23390
23508
|
width: "8ch",
|
|
23391
23509
|
"min-width": "8ch",
|
|
@@ -23400,20 +23518,20 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23400
23518
|
"white-space": "nowrap"
|
|
23401
23519
|
}), s.append(y);
|
|
23402
23520
|
let b = e.createElement("div");
|
|
23403
|
-
|
|
23521
|
+
QT(b, {
|
|
23404
23522
|
position: "relative",
|
|
23405
23523
|
display: "flex",
|
|
23406
23524
|
height: "20px",
|
|
23407
23525
|
"align-items": "center"
|
|
23408
23526
|
}), s.append(b);
|
|
23409
|
-
let x =
|
|
23410
|
-
x.dataset.mesurerRecordingExportOptions = "true", x.setAttribute("aria-haspopup", "menu"), x.setAttribute("aria-expanded", "false"),
|
|
23527
|
+
let x = $T(e, "Export options", "1×");
|
|
23528
|
+
x.dataset.mesurerRecordingExportOptions = "true", x.setAttribute("aria-haspopup", "menu"), x.setAttribute("aria-expanded", "false"), QT(x, {
|
|
23411
23529
|
width: "28px",
|
|
23412
23530
|
"font-family": "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
23413
23531
|
"font-size": "10px"
|
|
23414
23532
|
}), b.append(x);
|
|
23415
23533
|
let S = e.createElement("div");
|
|
23416
|
-
S.dataset.mesurerRecordingExportMenu = "true", S.setAttribute("role", "menu"),
|
|
23534
|
+
S.dataset.mesurerRecordingExportMenu = "true", S.setAttribute("role", "menu"), QT(S, {
|
|
23417
23535
|
position: "absolute",
|
|
23418
23536
|
display: "none",
|
|
23419
23537
|
right: "0",
|
|
@@ -23429,7 +23547,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23429
23547
|
"pointer-events": "auto"
|
|
23430
23548
|
}), b.append(S);
|
|
23431
23549
|
let C = e.createElement("p");
|
|
23432
|
-
C.textContent = "Format",
|
|
23550
|
+
C.textContent = "Format", QT(C, {
|
|
23433
23551
|
margin: "0",
|
|
23434
23552
|
padding: "4px 8px",
|
|
23435
23553
|
color: "var(--msr-color-ink-500, #64748b)",
|
|
@@ -23439,7 +23557,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23439
23557
|
let w = e.createElement("div");
|
|
23440
23558
|
S.append(w);
|
|
23441
23559
|
let T = e.createElement("p");
|
|
23442
|
-
T.textContent = "Size",
|
|
23560
|
+
T.textContent = "Size", QT(T, {
|
|
23443
23561
|
margin: "0",
|
|
23444
23562
|
padding: "6px 8px 4px",
|
|
23445
23563
|
color: "var(--msr-color-ink-500, #64748b)",
|
|
@@ -23453,17 +23571,17 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23453
23571
|
2,
|
|
23454
23572
|
3
|
|
23455
23573
|
].map((t) => {
|
|
23456
|
-
let n =
|
|
23574
|
+
let n = eE(e, `${t}×`);
|
|
23457
23575
|
return n.button.dataset.mesurerRecordingScale = String(t), E.append(n.button), {
|
|
23458
23576
|
scale: t,
|
|
23459
23577
|
...n
|
|
23460
23578
|
};
|
|
23461
|
-
}), O =
|
|
23579
|
+
}), O = $T(e, "Download", "↓");
|
|
23462
23580
|
O.dataset.mesurerRecordingExport = "true", s.append(O);
|
|
23463
|
-
let k =
|
|
23581
|
+
let k = $T(e, "Grow preview", "↗");
|
|
23464
23582
|
k.dataset.mesurerRecordingExpand = "true", s.append(k);
|
|
23465
23583
|
let A = e.createElement("p");
|
|
23466
|
-
return A.dataset.mesurerRecordingPreviewStatus = "true", A.setAttribute("role", "status"),
|
|
23584
|
+
return A.dataset.mesurerRecordingPreviewStatus = "true", A.setAttribute("role", "status"), QT(A, {
|
|
23467
23585
|
display: "none",
|
|
23468
23586
|
margin: "8px 0 0",
|
|
23469
23587
|
color: "var(--msr-color-ink-500, #64748b)",
|
|
@@ -23494,14 +23612,14 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23494
23612
|
expand: k,
|
|
23495
23613
|
status: A
|
|
23496
23614
|
};
|
|
23497
|
-
},
|
|
23615
|
+
}, nE = 8, rE = 8, iE = .05, aE = 200, oE = (e) => {
|
|
23498
23616
|
let t = Number.isFinite(e) ? Math.max(0, e) : 0, n = Math.floor(t / 60);
|
|
23499
23617
|
return `${n}:${(t - n * 60).toFixed(2).padStart(5, "0")}`;
|
|
23500
|
-
},
|
|
23618
|
+
}, sE = (e, t, n, r) => {
|
|
23501
23619
|
let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
|
|
23502
23620
|
a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
|
|
23503
|
-
},
|
|
23504
|
-
let { panel: o, previewShell: s, video: c, exportingOverlay: l, close: u, play: d, currentTime: f, timeline: p, track: m, clip: h, hoverMarker: g, playhead: _, trimStart: v, trimEnd: y, durationLabel: b, exportAnchor: x, exportOptions: S, exportMenu: C, formatRows: w, scaleRows: T, download: E, expand: D, status: O } =
|
|
23621
|
+
}, cE = ({ ownerDocument: e, ownerWindow: t, root: n, formats: r, onDiscard: i, onExport: a }) => {
|
|
23622
|
+
let { panel: o, previewShell: s, video: c, exportingOverlay: l, close: u, play: d, currentTime: f, timeline: p, track: m, clip: h, hoverMarker: g, playhead: _, trimStart: v, trimEnd: y, durationLabel: b, exportAnchor: x, exportOptions: S, exportMenu: C, formatRows: w, scaleRows: T, download: E, expand: D, status: O } = tE({
|
|
23505
23623
|
ownerDocument: e,
|
|
23506
23624
|
root: n
|
|
23507
23625
|
}), k = null, A = null, j = !1, M = !1, N = 0, P = ["webm"], F = "webm", I = 1, L = 0, R = 0, z = null, B = null, V = null, ee = (e) => {
|
|
@@ -23515,15 +23633,15 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23515
23633
|
return t <= 0 || n.width <= 0 ? 0 : Math.min(t, Math.max(0, (e - n.left) / n.width * t));
|
|
23516
23634
|
}, W = () => {
|
|
23517
23635
|
let e = k?.duration ?? 0, t = Math.min(e, Math.max(0, c.currentTime || 0)), n = ee(L) * 100, r = ee(R) * 100;
|
|
23518
|
-
v.style.left = `${n}%`, y.style.left = `${r}%`, h.style.left = `${n}%`, h.style.width = `${Math.max(0, r - n)}%`, _.style.left = `${ee(t) * 100}%`, v.setAttribute("aria-valuemax", String(Math.max(0, R -
|
|
23636
|
+
v.style.left = `${n}%`, y.style.left = `${r}%`, h.style.left = `${n}%`, h.style.width = `${Math.max(0, r - n)}%`, _.style.left = `${ee(t) * 100}%`, v.setAttribute("aria-valuemax", String(Math.max(0, R - iE))), v.setAttribute("aria-valuenow", String(L)), v.setAttribute("aria-valuetext", oE(L)), y.setAttribute("aria-valuemin", String(Math.min(e, L + iE))), y.setAttribute("aria-valuemax", String(e)), y.setAttribute("aria-valuenow", String(R)), y.setAttribute("aria-valuetext", oE(R)), f.textContent = oE(t), b.textContent = oE(e);
|
|
23519
23637
|
}, te = (e, t = !0) => {
|
|
23520
23638
|
if (!k) return;
|
|
23521
23639
|
let n = Math.min(R, Math.max(L, e));
|
|
23522
23640
|
t && !c.paused && c.pause(), c.currentTime = n, W();
|
|
23523
23641
|
}, ne = (e, t = !1) => {
|
|
23524
|
-
k && (L = Math.min(Math.max(0, e), Math.max(0, R -
|
|
23642
|
+
k && (L = Math.min(Math.max(0, e), Math.max(0, R - iE)), (t || c.currentTime < L) && te(L), W());
|
|
23525
23643
|
}, re = (e, t = !1) => {
|
|
23526
|
-
k && (R = Math.max(Math.min(k.duration, e), Math.min(k.duration, L +
|
|
23644
|
+
k && (R = Math.max(Math.min(k.duration, e), Math.min(k.duration, L + iE)), t ? te(R) : c.currentTime > R && te(L), W());
|
|
23527
23645
|
}, ie = () => {
|
|
23528
23646
|
S.textContent = `${I}×`;
|
|
23529
23647
|
for (let e of T) {
|
|
@@ -23533,14 +23651,14 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23533
23651
|
}, G = () => {
|
|
23534
23652
|
w.replaceChildren();
|
|
23535
23653
|
for (let t of P) {
|
|
23536
|
-
let n =
|
|
23654
|
+
let n = eE(e, t === "mp4" ? "MP4" : "WebM"), r = t === F;
|
|
23537
23655
|
n.button.dataset.mesurerRecordingFormat = t, n.button.setAttribute("aria-checked", r ? "true" : "false"), n.check.style.opacity = r ? "1" : "0", n.button.addEventListener("click", () => {
|
|
23538
23656
|
F = t, G();
|
|
23539
23657
|
}), w.append(n.button);
|
|
23540
23658
|
}
|
|
23541
23659
|
}, ae = () => {
|
|
23542
23660
|
if (C.style.display === "none") return;
|
|
23543
|
-
let e = x.getBoundingClientRect(), n = Math.max(1, C.offsetHeight), r = e.top -
|
|
23661
|
+
let e = x.getBoundingClientRect(), n = Math.max(1, C.offsetHeight), r = e.top - nE, i = t.innerHeight - e.bottom - nE;
|
|
23544
23662
|
r >= n || r >= i ? (C.style.top = "auto", C.style.bottom = "24px") : (C.style.top = "24px", C.style.bottom = "auto");
|
|
23545
23663
|
}, oe = (e) => {
|
|
23546
23664
|
C.style.display = e ? "block" : "none", S.setAttribute("aria-expanded", e ? "true" : "false"), e && ae();
|
|
@@ -23558,8 +23676,8 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23558
23676
|
]) t.toggleAttribute("disabled", e);
|
|
23559
23677
|
}, ce = () => n.closest("[data-mesurer-root='true']")?.querySelector("[data-mesurer-tool-id='recording']") ?? e.querySelector("[data-mesurer-tool-id='recording']"), le = () => {
|
|
23560
23678
|
if (o.style.display === "none") return;
|
|
23561
|
-
let e = Math.min(j ? 576 : 352, Math.max(1, t.innerWidth - 16)), n = Math.max(180, o.offsetHeight), r = ce()?.getBoundingClientRect(), i = r ? r.left + r.width / 2 : t.innerWidth -
|
|
23562
|
-
l + n > t.innerHeight -
|
|
23679
|
+
let e = Math.min(j ? 576 : 352, Math.max(1, t.innerWidth - 16)), n = Math.max(180, o.offsetHeight), r = ce()?.getBoundingClientRect(), i = r ? r.left + r.width / 2 : t.innerWidth - nE - e / 2, a = nE + e / 2, s = Math.max(a, t.innerWidth - nE - e / 2), c = Math.min(Math.max(a, i), s), l = r ? r.bottom + rE : nE;
|
|
23680
|
+
l + n > t.innerHeight - nE && (l = r ? r.top - n - rE : t.innerHeight - n - nE), o.style.left = `${c}px`, o.style.top = `${Math.max(nE, l)}px`, C.style.display !== "none" && ae();
|
|
23563
23681
|
}, ue = () => {
|
|
23564
23682
|
c.pause(), c.removeAttribute("src"), c.load(), A &&= (globalThis.URL.revokeObjectURL(A), null);
|
|
23565
23683
|
}, de = () => {
|
|
@@ -23575,7 +23693,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23575
23693
|
transform: "scale(0.08)",
|
|
23576
23694
|
opacity: 0
|
|
23577
23695
|
}], {
|
|
23578
|
-
duration:
|
|
23696
|
+
duration: aE,
|
|
23579
23697
|
easing: "ease",
|
|
23580
23698
|
fill: "forwards"
|
|
23581
23699
|
});
|
|
@@ -23650,7 +23768,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23650
23768
|
endTime: i,
|
|
23651
23769
|
scale: I
|
|
23652
23770
|
}).then((r) => {
|
|
23653
|
-
n === N &&
|
|
23771
|
+
n === N && sE(r.blob, r.filename, e, t);
|
|
23654
23772
|
}).catch((e) => {
|
|
23655
23773
|
n === N && (O.style.display = "block", O.style.color = "var(--msr-danger-text, #dc2626)", O.textContent = e instanceof Error ? e.message : "Could not export the recording.");
|
|
23656
23774
|
}).finally(() => {
|
|
@@ -23672,7 +23790,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23672
23790
|
show(e) {
|
|
23673
23791
|
N += 1, V &&= (V.cancel(), null), o.style.pointerEvents = "auto", o.style.opacity = "1", o.style.transform = "translateX(-50%)", o.style.removeProperty("transform-origin"), o.style.removeProperty("will-change"), ue(), k = e, j = !1, I = 1, F = "webm", P = ["webm"], L = 0, R = e.duration, z = null, B = null;
|
|
23674
23792
|
let n = globalThis.URL.createObjectURL(e.blob);
|
|
23675
|
-
A = n, c.src = n, c.currentTime = 0, s.style.aspectRatio = e.width > 0 && e.height > 0 ? `${e.width} / ${e.height}` : "16 / 9", o.style.width = "352px", s.style.maxHeight = "144px", c.style.maxHeight = "144px", D.textContent = "↗", D.setAttribute("aria-label", "Grow preview"), D.title = "Grow preview", f.textContent = "0:00.00", b.textContent =
|
|
23793
|
+
A = n, c.src = n, c.currentTime = 0, s.style.aspectRatio = e.width > 0 && e.height > 0 ? `${e.width} / ${e.height}` : "16 / 9", o.style.width = "352px", s.style.maxHeight = "144px", c.style.maxHeight = "144px", D.textContent = "↗", D.setAttribute("aria-label", "Grow preview"), D.title = "Grow preview", f.textContent = "0:00.00", b.textContent = oE(e.duration), O.style.display = "none", O.style.color = "var(--msr-color-ink-500, #64748b)", oe(!1), G(), ie(), W(), se(!1), o.style.display = "block", le(), o.focus({ preventScroll: !0 });
|
|
23676
23794
|
let i = N;
|
|
23677
23795
|
r(e).then((e) => {
|
|
23678
23796
|
i !== N || !k || (P = e, F = e.includes(F) ? F : e[0] ?? "webm", G(), E.disabled = e.length === 0, e.length === 0 && (O.style.display = "block", O.style.color = "var(--msr-danger-text, #dc2626)", O.textContent = "No MediaBunny video encoder is available in this runtime."));
|
|
@@ -23685,11 +23803,11 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23685
23803
|
de(), t.removeEventListener("resize", be), t.removeEventListener("pointermove", _e, !0), t.removeEventListener("pointerup", ve, !0), t.removeEventListener("pointercancel", ve, !0), e.removeEventListener("pointerdown", ye, !0), o.remove();
|
|
23686
23804
|
}
|
|
23687
23805
|
};
|
|
23688
|
-
},
|
|
23806
|
+
}, lE = 3e3, uE = (e, t) => {
|
|
23689
23807
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
23690
|
-
},
|
|
23808
|
+
}, dE = ({ ownerDocument: e, ownerWindow: t, root: n, statusRoot: r, rendererRoot: i, isSelecting: a, isRecording: o, onRectChange: s, onConfirm: c, onCancel: l, onStop: u, setRecordingInteractionActive: d }) => {
|
|
23691
23809
|
let f = e.createElement("div");
|
|
23692
|
-
f.dataset.mesurerRecordingSelect = "true", f.dataset.mesurerInspectorUi = "true", f.setAttribute("role", "application"), f.setAttribute("aria-label", "Recording selection"),
|
|
23810
|
+
f.dataset.mesurerRecordingSelect = "true", f.dataset.mesurerInspectorUi = "true", f.setAttribute("role", "application"), f.setAttribute("aria-label", "Recording selection"), uE(f, {
|
|
23693
23811
|
position: "fixed",
|
|
23694
23812
|
inset: "0",
|
|
23695
23813
|
display: "none",
|
|
@@ -23701,13 +23819,13 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23701
23819
|
}), n.append(f);
|
|
23702
23820
|
let p = Array.from({ length: 4 }, () => {
|
|
23703
23821
|
let t = e.createElement("div");
|
|
23704
|
-
return t.dataset.mesurerRecordingShade = "true",
|
|
23822
|
+
return t.dataset.mesurerRecordingShade = "true", uE(t, {
|
|
23705
23823
|
position: "fixed",
|
|
23706
23824
|
background: "rgb(0 0 0 / 40%)",
|
|
23707
23825
|
"pointer-events": "none"
|
|
23708
23826
|
}), f.append(t), t;
|
|
23709
23827
|
}), m = e.createElement("div");
|
|
23710
|
-
m.dataset.mesurerRecordingMask = "true",
|
|
23828
|
+
m.dataset.mesurerRecordingMask = "true", uE(m, {
|
|
23711
23829
|
position: "fixed",
|
|
23712
23830
|
display: "none",
|
|
23713
23831
|
background: "transparent",
|
|
@@ -23717,7 +23835,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23717
23835
|
"pointer-events": "none"
|
|
23718
23836
|
}), f.append(m);
|
|
23719
23837
|
let h = e.createElement("div");
|
|
23720
|
-
h.dataset.mesurerRecordingSelection = "true",
|
|
23838
|
+
h.dataset.mesurerRecordingSelection = "true", uE(h, {
|
|
23721
23839
|
position: "fixed",
|
|
23722
23840
|
display: "none",
|
|
23723
23841
|
border: "1px solid var(--msr-accent, #0d99ff)",
|
|
@@ -23725,7 +23843,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23725
23843
|
"pointer-events": "none"
|
|
23726
23844
|
}), f.append(h);
|
|
23727
23845
|
let g = e.createElement("div");
|
|
23728
|
-
|
|
23846
|
+
uE(g, {
|
|
23729
23847
|
position: "fixed",
|
|
23730
23848
|
display: "none",
|
|
23731
23849
|
transform: "translateX(-50%)",
|
|
@@ -23738,7 +23856,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23738
23856
|
"pointer-events": "none"
|
|
23739
23857
|
}), f.append(g);
|
|
23740
23858
|
let _ = e.createElement("div");
|
|
23741
|
-
_.textContent = "Drag a region to record · Esc to cancel",
|
|
23859
|
+
_.textContent = "Drag a region to record · Esc to cancel", uE(_, {
|
|
23742
23860
|
position: "fixed",
|
|
23743
23861
|
left: "50%",
|
|
23744
23862
|
bottom: "16px",
|
|
@@ -23751,7 +23869,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23751
23869
|
"pointer-events": "none"
|
|
23752
23870
|
}), f.append(_);
|
|
23753
23871
|
let v = e.createElement("div");
|
|
23754
|
-
v.dataset.mesurerRecordingRegion = "true", v.dataset.mesurerInspectorUi = "true", v.setAttribute("role", "dialog"), v.setAttribute("aria-label", "Recording region"),
|
|
23872
|
+
v.dataset.mesurerRecordingRegion = "true", v.dataset.mesurerInspectorUi = "true", v.setAttribute("role", "dialog"), v.setAttribute("aria-label", "Recording region"), uE(v, {
|
|
23755
23873
|
position: "fixed",
|
|
23756
23874
|
display: "none",
|
|
23757
23875
|
width: "220px",
|
|
@@ -23769,7 +23887,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23769
23887
|
}), f.append(v);
|
|
23770
23888
|
let y = (t) => {
|
|
23771
23889
|
let n = e.createElement("label");
|
|
23772
|
-
|
|
23890
|
+
uE(n, {
|
|
23773
23891
|
display: "grid",
|
|
23774
23892
|
"grid-template-columns": "44px minmax(0,1fr)",
|
|
23775
23893
|
"align-items": "center",
|
|
@@ -23778,7 +23896,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23778
23896
|
let r = e.createElement("span");
|
|
23779
23897
|
r.textContent = t, r.style.color = "var(--msr-color-ink-500, #64748b)", n.append(r);
|
|
23780
23898
|
let i = e.createElement("div");
|
|
23781
|
-
return
|
|
23899
|
+
return uE(i, {
|
|
23782
23900
|
display: "flex",
|
|
23783
23901
|
"align-items": "center",
|
|
23784
23902
|
gap: "4px",
|
|
@@ -23786,7 +23904,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23786
23904
|
}), n.append(i), v.append(n), i;
|
|
23787
23905
|
}, b = (t) => {
|
|
23788
23906
|
let n = e.createElement("input");
|
|
23789
|
-
return n.type = "number", n.setAttribute("aria-label", t), n.step = "1",
|
|
23907
|
+
return n.type = "number", n.setAttribute("aria-label", t), n.step = "1", uE(n, {
|
|
23790
23908
|
width: "0",
|
|
23791
23909
|
"min-width": "0",
|
|
23792
23910
|
flex: "1 1 0",
|
|
@@ -23813,7 +23931,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23813
23931
|
let k = e.createElement("span");
|
|
23814
23932
|
k.textContent = "px", k.style.color = "var(--msr-color-ink-500, #64748b)", E.append(k);
|
|
23815
23933
|
let A = e.createElement("button");
|
|
23816
|
-
A.type = "button", A.dataset.mesurerRecordingStart = "true", A.textContent = "● Start recording",
|
|
23934
|
+
A.type = "button", A.dataset.mesurerRecordingStart = "true", A.textContent = "● Start recording", uE(A, {
|
|
23817
23935
|
width: "100%",
|
|
23818
23936
|
height: "28px",
|
|
23819
23937
|
"margin-top": "8px",
|
|
@@ -23827,7 +23945,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23827
23945
|
cursor: "pointer"
|
|
23828
23946
|
}), v.append(A);
|
|
23829
23947
|
let j = e.createElement("div");
|
|
23830
|
-
j.dataset.mesurerRecordingGrid = "true",
|
|
23948
|
+
j.dataset.mesurerRecordingGrid = "true", uE(j, {
|
|
23831
23949
|
position: "absolute",
|
|
23832
23950
|
inset: "0",
|
|
23833
23951
|
display: "none",
|
|
@@ -23835,7 +23953,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23835
23953
|
}), h.append(j);
|
|
23836
23954
|
let M = (t) => {
|
|
23837
23955
|
let n = e.createElement("div");
|
|
23838
|
-
|
|
23956
|
+
uE(n, {
|
|
23839
23957
|
position: "absolute",
|
|
23840
23958
|
opacity: "0.3",
|
|
23841
23959
|
...t
|
|
@@ -23897,7 +24015,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23897
24015
|
}
|
|
23898
24016
|
}).map(([t, n]) => {
|
|
23899
24017
|
let r = e.createElement("button");
|
|
23900
|
-
return r.type = "button", r.dataset.mesurerRecordingResize = t, r.setAttribute("aria-label", `Resize ${t}`),
|
|
24018
|
+
return r.type = "button", r.dataset.mesurerRecordingResize = t, r.setAttribute("aria-label", `Resize ${t}`), uE(r, {
|
|
23901
24019
|
position: "absolute",
|
|
23902
24020
|
display: "none",
|
|
23903
24021
|
left: n.left,
|
|
@@ -23914,7 +24032,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23914
24032
|
"pointer-events": "auto"
|
|
23915
24033
|
}), h.append(r), r;
|
|
23916
24034
|
}), P = e.createElement("section");
|
|
23917
|
-
P.dataset.mesurerRecordingStatus = "true", P.dataset.mesurerInspectorUi = "true", P.setAttribute("aria-label", "Screen recording"),
|
|
24035
|
+
P.dataset.mesurerRecordingStatus = "true", P.dataset.mesurerInspectorUi = "true", P.setAttribute("aria-label", "Screen recording"), uE(P, {
|
|
23918
24036
|
position: "fixed",
|
|
23919
24037
|
display: "none",
|
|
23920
24038
|
height: "34px",
|
|
@@ -23931,7 +24049,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23931
24049
|
"pointer-events": "auto"
|
|
23932
24050
|
});
|
|
23933
24051
|
let F = e.createElement("span");
|
|
23934
|
-
F.setAttribute("aria-hidden", "true"),
|
|
24052
|
+
F.setAttribute("aria-hidden", "true"), uE(F, {
|
|
23935
24053
|
width: "6px",
|
|
23936
24054
|
height: "6px",
|
|
23937
24055
|
"border-radius": "999px",
|
|
@@ -23939,14 +24057,14 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23939
24057
|
"flex-shrink": "0"
|
|
23940
24058
|
}), P.append(F);
|
|
23941
24059
|
let I = e.createElement("span");
|
|
23942
|
-
I.dataset.mesurerRecordingTime = "true", I.textContent = "00:00",
|
|
24060
|
+
I.dataset.mesurerRecordingTime = "true", I.textContent = "00:00", uE(I, {
|
|
23943
24061
|
color: "var(--msr-content, #18181b)",
|
|
23944
24062
|
"font-family": "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
23945
24063
|
"font-size": "11px",
|
|
23946
24064
|
"font-variant-numeric": "tabular-nums"
|
|
23947
24065
|
}), P.append(I);
|
|
23948
24066
|
let L = e.createElement("button");
|
|
23949
|
-
L.type = "button", L.dataset.mesurerRecordingStop = "true", L.textContent = "Stop", L.setAttribute("aria-label", "Stop recording"),
|
|
24067
|
+
L.type = "button", L.dataset.mesurerRecordingStop = "true", L.textContent = "Stop", L.setAttribute("aria-label", "Stop recording"), uE(L, {
|
|
23950
24068
|
height: "24px",
|
|
23951
24069
|
padding: "0 8px",
|
|
23952
24070
|
border: "0",
|
|
@@ -23959,7 +24077,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
23959
24077
|
cursor: "pointer"
|
|
23960
24078
|
}), P.append(L), r.append(P);
|
|
23961
24079
|
let R = e.createElement("div");
|
|
23962
|
-
R.dataset.mesurerRecordingError = "true", R.dataset.mesurerInspectorUi = "true", R.setAttribute("role", "status"),
|
|
24080
|
+
R.dataset.mesurerRecordingError = "true", R.dataset.mesurerInspectorUi = "true", R.setAttribute("role", "status"), uE(R, {
|
|
23963
24081
|
position: "fixed",
|
|
23964
24082
|
display: "none",
|
|
23965
24083
|
left: "8px",
|
|
@@ -24080,7 +24198,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24080
24198
|
let n = e instanceof Error ? e.message : "Could not record this region.";
|
|
24081
24199
|
R.textContent = n, R.style.display = "block", H = t.setTimeout(() => {
|
|
24082
24200
|
H = 0, R.style.display = "none";
|
|
24083
|
-
},
|
|
24201
|
+
}, lE);
|
|
24084
24202
|
}, ue = (e, t, n) => {
|
|
24085
24203
|
let r = B;
|
|
24086
24204
|
!V || !r || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), ee = {
|
|
@@ -24210,7 +24328,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24210
24328
|
f.removeEventListener("pointerdown", de), f.removeEventListener("pointermove", fe), f.removeEventListener("pointerup", pe), f.removeEventListener("pointercancel", me), t.removeEventListener("keydown", he, !0), H && t.clearTimeout(H), oe();
|
|
24211
24329
|
}
|
|
24212
24330
|
};
|
|
24213
|
-
},
|
|
24331
|
+
}, fE = (e) => {
|
|
24214
24332
|
let t = null, n = () => {
|
|
24215
24333
|
let e = t;
|
|
24216
24334
|
e && (t = null, e.pointerEvents || e.pointerEventsPriority ? e.element.style.setProperty("pointer-events", e.pointerEvents, e.pointerEventsPriority) : e.element.style.removeProperty("pointer-events"), e.cursor || e.cursorPriority ? e.element.style.setProperty("cursor", e.cursor, e.cursorPriority) : e.element.style.removeProperty("cursor"));
|
|
@@ -24229,19 +24347,19 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24229
24347
|
cursorPriority: i.style.getPropertyPriority("cursor")
|
|
24230
24348
|
}), i.style.setProperty("pointer-events", "none", "important"), i.style.setProperty("cursor", "default", "important"));
|
|
24231
24349
|
} };
|
|
24232
|
-
},
|
|
24350
|
+
}, pE = "mesurer.recording", mE = "recording:v1", hE = "mesurer.recording.settings", gE = "runtime:solid", _E = "recording.toggle", vE = "recording.stop", yE = "recording.discard", bE = "recording.export", xE = 60, SE = 60, CE = {
|
|
24233
24351
|
viewBox: "0 0 24 24",
|
|
24234
24352
|
paths: ["M7 5.75A3.25 3.25 0 0 0 3.75 9v6A3.25 3.25 0 0 0 7 18.25h7A3.25 3.25 0 0 0 17.25 15v-1.03l2.13 1.42a.75.75 0 0 0 1.17-.624V9.234a.75.75 0 0 0-1.17-.624l-2.13 1.42V9A3.25 3.25 0 0 0 14 5.75H7Zm10.25 6.082 1.8-1.2v2.736l-1.8-1.2v-.336Z", "M10.5 9.25a2.75 2.75 0 1 0 0 5.5 2.75 2.75 0 0 0 0-5.5Z"]
|
|
24235
|
-
},
|
|
24353
|
+
}, wE = (e) => e ? { ...e } : null, TE = (e) => ({
|
|
24236
24354
|
...e,
|
|
24237
|
-
rect:
|
|
24238
|
-
}),
|
|
24355
|
+
rect: wE(e.rect)
|
|
24356
|
+
}), EE = (e, t) => {
|
|
24239
24357
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
24240
|
-
},
|
|
24241
|
-
if (!
|
|
24358
|
+
}, DE = (e) => e != null && !Array.isArray(e) && typeof e == "object", OE = (e) => typeof e == "number" && Number.isFinite(e), kE = (e) => {
|
|
24359
|
+
if (!DE(e)) return {};
|
|
24242
24360
|
let t = {};
|
|
24243
|
-
return (e.format === "webm" || e.format === "mp4") && (t.format = e.format),
|
|
24244
|
-
},
|
|
24361
|
+
return (e.format === "webm" || e.format === "mp4") && (t.format = e.format), OE(e.startTime) && (t.startTime = e.startTime), OE(e.endTime) && (t.endTime = e.endTime), (e.scale === 1 || e.scale === 2 || e.scale === 3) && (t.scale = e.scale), t;
|
|
24362
|
+
}, AE = (e) => ({
|
|
24245
24363
|
status: e.status,
|
|
24246
24364
|
elapsed: e.elapsed,
|
|
24247
24365
|
rect: e.rect ? { ...e.rect } : null,
|
|
@@ -24249,62 +24367,62 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24249
24367
|
width: e.width,
|
|
24250
24368
|
height: e.height,
|
|
24251
24369
|
error: e.error
|
|
24252
|
-
}),
|
|
24370
|
+
}), jE = (e) => ({
|
|
24253
24371
|
filename: e.filename,
|
|
24254
24372
|
format: e.format,
|
|
24255
24373
|
duration: e.duration,
|
|
24256
24374
|
width: e.width,
|
|
24257
24375
|
height: e.height,
|
|
24258
24376
|
bytes: e.blob.size
|
|
24259
|
-
}),
|
|
24377
|
+
}), ME = (e) => ({
|
|
24260
24378
|
format: e.format,
|
|
24261
24379
|
duration: e.duration,
|
|
24262
24380
|
width: e.width,
|
|
24263
24381
|
height: e.height,
|
|
24264
24382
|
bytes: e.blob.size,
|
|
24265
24383
|
createdAt: e.createdAt
|
|
24266
|
-
}),
|
|
24384
|
+
}), NE = (e, t, n) => {
|
|
24267
24385
|
let r = globalThis.URL.createObjectURL(e.blob), i = t.createElement("a");
|
|
24268
24386
|
i.href = r, i.download = e.filename, i.rel = "noopener", t.documentElement.append(i), i.click(), i.remove(), n.setTimeout(() => globalThis.URL.revokeObjectURL(r), 1e3);
|
|
24269
|
-
},
|
|
24270
|
-
id:
|
|
24387
|
+
}, PE = (e = {}) => kc({
|
|
24388
|
+
id: pE,
|
|
24271
24389
|
version: "0.1.0",
|
|
24272
|
-
requires: [
|
|
24273
|
-
provides: ["tool:recording",
|
|
24390
|
+
requires: [gE],
|
|
24391
|
+
provides: ["tool:recording", mE],
|
|
24274
24392
|
setup(t) {
|
|
24275
|
-
let n = t.service.get(
|
|
24393
|
+
let n = t.service.get(gE);
|
|
24276
24394
|
if (!n) throw Error("Recording plugin requires the Solid renderer runtime.");
|
|
24277
|
-
let { ownerDocument: r, ownerWindow: i } = n, a = n.createInspectorMount(), o = a.element, s = n.createInspectorMount(), c = s.element, l = n.rendererRoot ?? n.portalTarget.querySelector("[data-mesurer-root='true']"), u =
|
|
24278
|
-
o.dataset.mesurerRecording = "true", c.dataset.mesurerRecordingStatusRoot = "true",
|
|
24395
|
+
let { ownerDocument: r, ownerWindow: i } = n, a = n.createInspectorMount(), o = a.element, s = n.createInspectorMount(), c = s.element, l = n.rendererRoot ?? n.portalTarget.querySelector("[data-mesurer-root='true']"), u = fE(l);
|
|
24396
|
+
o.dataset.mesurerRecording = "true", c.dataset.mesurerRecordingStatusRoot = "true", EE(o, {
|
|
24279
24397
|
position: "fixed",
|
|
24280
24398
|
inset: "0",
|
|
24281
24399
|
"z-index": "86",
|
|
24282
24400
|
"pointer-events": "none",
|
|
24283
24401
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
24284
|
-
}),
|
|
24402
|
+
}), EE(c, {
|
|
24285
24403
|
position: "fixed",
|
|
24286
24404
|
inset: "0",
|
|
24287
24405
|
"z-index": "96",
|
|
24288
24406
|
"pointer-events": "none",
|
|
24289
24407
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
24290
24408
|
});
|
|
24291
|
-
let d = Math.max(1, Math.min(600, e.maxDurationSeconds ??
|
|
24409
|
+
let d = Math.max(1, Math.min(600, e.maxDurationSeconds ?? SE)), f = e.quality ?? "medium";
|
|
24292
24410
|
t.state.register({
|
|
24293
|
-
id:
|
|
24411
|
+
id: hE,
|
|
24294
24412
|
initial: {
|
|
24295
24413
|
toolEnabled: e.toolEnabled ?? !0,
|
|
24296
|
-
frameRate: e.frameRate ??
|
|
24414
|
+
frameRate: e.frameRate ?? xE
|
|
24297
24415
|
},
|
|
24298
24416
|
persist: !0
|
|
24299
24417
|
});
|
|
24300
24418
|
let p = () => {
|
|
24301
|
-
let e = t.state.get(
|
|
24419
|
+
let e = t.state.get(hE);
|
|
24302
24420
|
return {
|
|
24303
24421
|
toolEnabled: e?.toolEnabled ?? !0,
|
|
24304
24422
|
frameRate: e?.frameRate === 120 ? 120 : 60
|
|
24305
24423
|
};
|
|
24306
24424
|
}, m = (e) => {
|
|
24307
|
-
t.state.update(
|
|
24425
|
+
t.state.update(hE, (t) => {
|
|
24308
24426
|
let n = { ...t };
|
|
24309
24427
|
return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), (e.frameRate === 60 || e.frameRate === 120) && (n.frameRate = e.frameRate), n;
|
|
24310
24428
|
});
|
|
@@ -24317,13 +24435,13 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24317
24435
|
height: null,
|
|
24318
24436
|
error: null
|
|
24319
24437
|
}, g = /* @__PURE__ */ new Set(), _ = null, v = null, y = null, b = null, x, S = null, C = 0, w = 0, T = 0, E = 0, D = -1, O = !1, k = null, A = () => {
|
|
24320
|
-
let e =
|
|
24438
|
+
let e = TE(h);
|
|
24321
24439
|
for (let t of g) t(e);
|
|
24322
24440
|
}, j = (e) => {
|
|
24323
24441
|
h = {
|
|
24324
24442
|
...h,
|
|
24325
24443
|
...e,
|
|
24326
|
-
rect: e.rect === void 0 ? h.rect :
|
|
24444
|
+
rect: e.rect === void 0 ? h.rect : wE(e.rect)
|
|
24327
24445
|
}, A();
|
|
24328
24446
|
}, M = () => h.status === "selecting" || h.status === "recording" || h.status === "exporting", N = () => {
|
|
24329
24447
|
if (S) return;
|
|
@@ -24346,7 +24464,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24346
24464
|
let n = y;
|
|
24347
24465
|
y = null, e && await n?.cancel();
|
|
24348
24466
|
let r = v;
|
|
24349
|
-
v = null, r &&
|
|
24467
|
+
v = null, r && FT(r), x.hideRecordingMask(), x.hideRecordingStatus();
|
|
24350
24468
|
}, I = () => {
|
|
24351
24469
|
_ = null, z.dismiss(), j({
|
|
24352
24470
|
status: "idle",
|
|
@@ -24359,7 +24477,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24359
24477
|
}), t.hook.emit("recording:discard", {});
|
|
24360
24478
|
}, L = async () => {
|
|
24361
24479
|
let e = _;
|
|
24362
|
-
return
|
|
24480
|
+
return GT(e?.width ?? Math.max(2, Math.round(i.innerWidth)), e?.height ?? Math.max(2, Math.round(i.innerHeight)), p().frameRate);
|
|
24363
24481
|
}, R = async (e = {}) => {
|
|
24364
24482
|
let n = _;
|
|
24365
24483
|
if (!n) throw Error("No recording is ready to export.");
|
|
@@ -24369,9 +24487,9 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24369
24487
|
error: null
|
|
24370
24488
|
});
|
|
24371
24489
|
try {
|
|
24372
|
-
let r = await
|
|
24490
|
+
let r = await YT(n.blob, e), i = {
|
|
24373
24491
|
...r,
|
|
24374
|
-
filename:
|
|
24492
|
+
filename: XT(r.format)
|
|
24375
24493
|
};
|
|
24376
24494
|
return j({
|
|
24377
24495
|
status: "ready",
|
|
@@ -24393,7 +24511,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24393
24511
|
error: e instanceof Error ? e.message : "Could not export the recording."
|
|
24394
24512
|
}), e;
|
|
24395
24513
|
}
|
|
24396
|
-
}, z =
|
|
24514
|
+
}, z = cE({
|
|
24397
24515
|
ownerDocument: r,
|
|
24398
24516
|
ownerWindow: i,
|
|
24399
24517
|
root: o,
|
|
@@ -24403,15 +24521,15 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24403
24521
|
}), B = async () => {
|
|
24404
24522
|
if (k) return k;
|
|
24405
24523
|
if (h.status !== "recording" || !y || !v) throw Error("No recording is active.");
|
|
24406
|
-
let e = T, n = y, r = v, a =
|
|
24524
|
+
let e = T, n = y, r = v, a = wE(h.rect);
|
|
24407
24525
|
if (!a) throw Error("Recording region is unavailable.");
|
|
24408
24526
|
return k = (async () => {
|
|
24409
24527
|
C && i.cancelAnimationFrame(C), C = 0, w && i.clearTimeout(w), w = 0;
|
|
24410
24528
|
let s = b;
|
|
24411
24529
|
b = null, s && await s;
|
|
24412
24530
|
let c = await n.finalize();
|
|
24413
|
-
if (y = null, v = null,
|
|
24414
|
-
let l = await
|
|
24531
|
+
if (y = null, v = null, FT(r), T !== e || O) throw Error("Recording was cancelled.");
|
|
24532
|
+
let l = await JT(c), u = {
|
|
24415
24533
|
blob: c,
|
|
24416
24534
|
format: "webm",
|
|
24417
24535
|
duration: l.duration,
|
|
@@ -24451,12 +24569,12 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24451
24569
|
let s = Math.max(0, (r - E) / 1e3);
|
|
24452
24570
|
j({ elapsed: s }), x.setRecordingTime(`${String(Math.floor(s / 60)).padStart(2, "0")}:${String(Math.floor(s % 60)).padStart(2, "0")}`);
|
|
24453
24571
|
let c = s;
|
|
24454
|
-
!b && c - D >= a * .8 && (
|
|
24572
|
+
!b && c - D >= a * .8 && (PT(e, h.rect ?? {
|
|
24455
24573
|
left: 0,
|
|
24456
24574
|
top: 0,
|
|
24457
24575
|
width: i.innerWidth,
|
|
24458
24576
|
height: i.innerHeight
|
|
24459
|
-
},
|
|
24577
|
+
}, _T(i)), D = c, b = t.addFrame(c, a).catch((e) => {
|
|
24460
24578
|
throw T === n && !O && F(!0).then(() => {
|
|
24461
24579
|
P();
|
|
24462
24580
|
let t = e instanceof Error ? e.message : "MediaBunny could not encode the recording.";
|
|
@@ -24482,21 +24600,21 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24482
24600
|
error: null
|
|
24483
24601
|
}), x.setRecordingTime("00:00"), x.placeRecordingStatus(e);
|
|
24484
24602
|
try {
|
|
24485
|
-
let s = await
|
|
24603
|
+
let s = await NT(r, i, e, a);
|
|
24486
24604
|
if (O || T !== n) {
|
|
24487
|
-
|
|
24605
|
+
FT(s);
|
|
24488
24606
|
return;
|
|
24489
24607
|
}
|
|
24490
|
-
let c = await
|
|
24608
|
+
let c = await qT(s.canvas, {
|
|
24491
24609
|
format: "webm",
|
|
24492
24610
|
frameRate: a,
|
|
24493
24611
|
quality: f
|
|
24494
24612
|
});
|
|
24495
24613
|
if (O || T !== n) {
|
|
24496
|
-
await c.cancel(),
|
|
24614
|
+
await c.cancel(), FT(s);
|
|
24497
24615
|
return;
|
|
24498
24616
|
}
|
|
24499
|
-
if (v = s, y = c, E = i.performance.now(), D = 0,
|
|
24617
|
+
if (v = s, y = c, E = i.performance.now(), D = 0, PT(s, e, _T(i)), await c.addFrame(0, 1 / a), O || T !== n) {
|
|
24500
24618
|
await F(!0);
|
|
24501
24619
|
return;
|
|
24502
24620
|
}
|
|
@@ -24557,7 +24675,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24557
24675
|
error: null
|
|
24558
24676
|
});
|
|
24559
24677
|
};
|
|
24560
|
-
x =
|
|
24678
|
+
x = dE({
|
|
24561
24679
|
ownerDocument: r,
|
|
24562
24680
|
ownerWindow: i,
|
|
24563
24681
|
root: o,
|
|
@@ -24574,7 +24692,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24574
24692
|
setRecordingInteractionActive: u.setActive
|
|
24575
24693
|
});
|
|
24576
24694
|
let te = {
|
|
24577
|
-
snapshot: () =>
|
|
24695
|
+
snapshot: () => TE(h),
|
|
24578
24696
|
subscribe(e) {
|
|
24579
24697
|
return g.add(e), () => g.delete(e);
|
|
24580
24698
|
},
|
|
@@ -24592,10 +24710,10 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24592
24710
|
label: "Record",
|
|
24593
24711
|
shortcut: "Shift+R",
|
|
24594
24712
|
order: 72,
|
|
24595
|
-
command:
|
|
24713
|
+
command: _E,
|
|
24596
24714
|
toolbarMode: "select",
|
|
24597
24715
|
compactPinned: !0,
|
|
24598
|
-
icon:
|
|
24716
|
+
icon: CE,
|
|
24599
24717
|
active: M,
|
|
24600
24718
|
hidden: () => !p().toolEnabled,
|
|
24601
24719
|
menu: {
|
|
@@ -24645,21 +24763,21 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24645
24763
|
m({ frameRate: e ? 120 : 60 });
|
|
24646
24764
|
}
|
|
24647
24765
|
}]
|
|
24648
|
-
}), t.command.register(
|
|
24649
|
-
let t = await R(
|
|
24650
|
-
return
|
|
24651
|
-
}), t.service.provide(
|
|
24766
|
+
}), t.command.register(_E, async () => (await U(), AE(h))), t.command.register(vE, async () => ME(await B())), t.command.register(yE, () => (I(), AE(h))), t.command.register(bE, async (e) => {
|
|
24767
|
+
let t = await R(kE(e));
|
|
24768
|
+
return NE(t, r, i), jE(t);
|
|
24769
|
+
}), t.service.provide(mE, te), t.lifecycle.onDispose(() => {
|
|
24652
24770
|
O = !0, ++T, g.clear(), z.dispose(), x.dispose(), P(), F(!0), s.dispose(), a.dispose();
|
|
24653
24771
|
});
|
|
24654
24772
|
}
|
|
24655
|
-
}),
|
|
24773
|
+
}), FE = 144, IE = 96, LE = 8, RE = 4, zE = 1800, BE = 200, VE = (e, t) => {
|
|
24656
24774
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
24657
|
-
},
|
|
24658
|
-
left: Math.min(Math.max(
|
|
24659
|
-
top: Math.min(Math.max(
|
|
24660
|
-
}),
|
|
24775
|
+
}, HE = (e, t) => ({
|
|
24776
|
+
left: Math.min(Math.max(LE, e.left), Math.max(LE, t.innerWidth - FE - LE)),
|
|
24777
|
+
top: Math.min(Math.max(LE, e.top), Math.max(LE, t.innerHeight - IE - LE))
|
|
24778
|
+
}), UE = (e, t) => {
|
|
24661
24779
|
let n = e.createElement("button");
|
|
24662
|
-
return n.type = "button", n.textContent = t,
|
|
24780
|
+
return n.type = "button", n.textContent = t, VE(n, {
|
|
24663
24781
|
height: "32px",
|
|
24664
24782
|
padding: "0 12px",
|
|
24665
24783
|
border: "1px solid rgb(255 255 255 / 18%)",
|
|
@@ -24671,11 +24789,11 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24671
24789
|
"font-weight": "500",
|
|
24672
24790
|
cursor: "pointer"
|
|
24673
24791
|
}), n;
|
|
24674
|
-
},
|
|
24792
|
+
}, WE = ({ 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", GE = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), KE = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
|
|
24675
24793
|
let i = n.closest("[data-mesurer-root='true']") ?? n.parentNode;
|
|
24676
|
-
if (!
|
|
24794
|
+
if (!GE(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
|
|
24677
24795
|
let a = e.createElement("div");
|
|
24678
|
-
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true",
|
|
24796
|
+
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", VE(a, {
|
|
24679
24797
|
position: "fixed",
|
|
24680
24798
|
left: "0",
|
|
24681
24799
|
top: "0",
|
|
@@ -24687,12 +24805,12 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24687
24805
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
24688
24806
|
}), i.append(a);
|
|
24689
24807
|
let o = e.createElement("div");
|
|
24690
|
-
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0,
|
|
24808
|
+
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, VE(o, {
|
|
24691
24809
|
position: "fixed",
|
|
24692
24810
|
display: "none",
|
|
24693
24811
|
"z-index": "96",
|
|
24694
|
-
width: `${
|
|
24695
|
-
height: `${
|
|
24812
|
+
width: `${FE}px`,
|
|
24813
|
+
height: `${IE}px`,
|
|
24696
24814
|
"box-sizing": "border-box",
|
|
24697
24815
|
overflow: "hidden",
|
|
24698
24816
|
"border-radius": "10px",
|
|
@@ -24705,7 +24823,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24705
24823
|
"touch-action": "none"
|
|
24706
24824
|
});
|
|
24707
24825
|
let s = e.createElement("img");
|
|
24708
|
-
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions",
|
|
24826
|
+
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", VE(s, {
|
|
24709
24827
|
display: "block",
|
|
24710
24828
|
width: "100%",
|
|
24711
24829
|
height: "100%",
|
|
@@ -24713,7 +24831,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24713
24831
|
"background-color": "white"
|
|
24714
24832
|
}), o.append(s);
|
|
24715
24833
|
let c = e.createElement("button");
|
|
24716
|
-
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss",
|
|
24834
|
+
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", VE(c, {
|
|
24717
24835
|
position: "absolute",
|
|
24718
24836
|
top: "8px",
|
|
24719
24837
|
right: "8px",
|
|
@@ -24740,7 +24858,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24740
24858
|
let u = e.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
24741
24859
|
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);
|
|
24742
24860
|
let d = e.createElement("div");
|
|
24743
|
-
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"),
|
|
24861
|
+
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), VE(d, {
|
|
24744
24862
|
position: "fixed",
|
|
24745
24863
|
inset: "0",
|
|
24746
24864
|
display: "none",
|
|
@@ -24754,7 +24872,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24754
24872
|
"pointer-events": "auto"
|
|
24755
24873
|
});
|
|
24756
24874
|
let f = e.createElement("img");
|
|
24757
|
-
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot",
|
|
24875
|
+
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", VE(f, {
|
|
24758
24876
|
display: "block",
|
|
24759
24877
|
"max-width": "calc(100vw - 96px)",
|
|
24760
24878
|
"max-height": "calc(100vh - 112px)",
|
|
@@ -24765,7 +24883,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24765
24883
|
"box-shadow": "0 8px 30px rgb(0 0 0 / 28%)"
|
|
24766
24884
|
}), d.append(f);
|
|
24767
24885
|
let p = e.createElement("div");
|
|
24768
|
-
p.dataset.mesurerScreenshotViewerControls = "true",
|
|
24886
|
+
p.dataset.mesurerScreenshotViewerControls = "true", VE(p, {
|
|
24769
24887
|
position: "fixed",
|
|
24770
24888
|
top: "16px",
|
|
24771
24889
|
right: "16px",
|
|
@@ -24773,14 +24891,14 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24773
24891
|
gap: "8px",
|
|
24774
24892
|
"pointer-events": "auto"
|
|
24775
24893
|
});
|
|
24776
|
-
let m =
|
|
24894
|
+
let m = UE(e, "Copy");
|
|
24777
24895
|
m.dataset.mesurerScreenshotViewerCopy = "true", m.setAttribute("aria-label", "Copy screenshot");
|
|
24778
|
-
let h =
|
|
24896
|
+
let h = UE(e, "Save");
|
|
24779
24897
|
h.dataset.mesurerScreenshotViewerSave = "true", h.setAttribute("aria-label", "Save screenshot");
|
|
24780
|
-
let g =
|
|
24898
|
+
let g = UE(e, "Close");
|
|
24781
24899
|
g.dataset.mesurerScreenshotViewerClose = "true", g.setAttribute("aria-label", "Close screenshot viewer"), p.append(m, h, g), d.append(p), a.append(d);
|
|
24782
24900
|
let _ = e.createElement("div");
|
|
24783
|
-
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"),
|
|
24901
|
+
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), VE(_, {
|
|
24784
24902
|
position: "fixed",
|
|
24785
24903
|
left: "50%",
|
|
24786
24904
|
bottom: "20px",
|
|
@@ -24802,7 +24920,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24802
24920
|
}, O = (e, n = !1) => {
|
|
24803
24921
|
D(), _.textContent = e, _.style.backgroundColor = n ? "#b42318" : "rgb(28 28 30 / 90%)", _.style.display = "block", C = t.setTimeout(() => {
|
|
24804
24922
|
C = 0, _.style.display = "none";
|
|
24805
|
-
},
|
|
24923
|
+
}, zE);
|
|
24806
24924
|
}, k = () => {
|
|
24807
24925
|
d.style.display = "none";
|
|
24808
24926
|
}, A = () => {
|
|
@@ -24812,7 +24930,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24812
24930
|
}, M = () => {
|
|
24813
24931
|
if (!v || o.style.display === "none" || w) return;
|
|
24814
24932
|
E(), k();
|
|
24815
|
-
let e = o.getBoundingClientRect(), n = Math.max(152, t.innerWidth - e.left +
|
|
24933
|
+
let e = o.getBoundingClientRect(), n = Math.max(152, t.innerWidth - e.left + LE);
|
|
24816
24934
|
o.style.pointerEvents = "none", o.style.willChange = "transform, opacity";
|
|
24817
24935
|
let r = o.animate([{
|
|
24818
24936
|
transform: "translateX(0) scale(1)",
|
|
@@ -24821,18 +24939,18 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24821
24939
|
transform: `translateX(${n}px) scale(0.92)`,
|
|
24822
24940
|
opacity: 0
|
|
24823
24941
|
}], {
|
|
24824
|
-
duration:
|
|
24942
|
+
duration: BE,
|
|
24825
24943
|
easing: "ease",
|
|
24826
24944
|
fill: "forwards"
|
|
24827
24945
|
});
|
|
24828
24946
|
w = r, r.finished.catch(() => void 0).then(() => {
|
|
24829
24947
|
w === r && (r.cancel(), w = null, j());
|
|
24830
24948
|
});
|
|
24831
|
-
}, N = () =>
|
|
24832
|
-
left: t.innerWidth -
|
|
24833
|
-
top: t.innerHeight -
|
|
24949
|
+
}, N = () => HE({
|
|
24950
|
+
left: t.innerWidth - FE - LE,
|
|
24951
|
+
top: t.innerHeight - IE - LE
|
|
24834
24952
|
}, t), P = (e) => {
|
|
24835
|
-
let n =
|
|
24953
|
+
let n = HE(e, t);
|
|
24836
24954
|
b = n, o.style.left = `${n.left}px`, o.style.top = `${n.top}px`;
|
|
24837
24955
|
}, F = () => {
|
|
24838
24956
|
!v || !y || (E(), d.style.display = "flex", g.focus());
|
|
@@ -24866,7 +24984,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24866
24984
|
let n = x;
|
|
24867
24985
|
if (!n) return;
|
|
24868
24986
|
let r = e - n.startX, i = t - n.startY;
|
|
24869
|
-
!n.moved && Math.hypot(r, i) >=
|
|
24987
|
+
!n.moved && Math.hypot(r, i) >= RE && (n.moved = !0), n.moved && P({
|
|
24870
24988
|
left: n.left + r,
|
|
24871
24989
|
top: n.top + i
|
|
24872
24990
|
});
|
|
@@ -24910,25 +25028,25 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24910
25028
|
if (T) return;
|
|
24911
25029
|
E(), k(), w &&= (w.cancel(), null), o.style.opacity = "1", o.style.transform = "none", o.style.willChange = "transform, opacity", o.style.pointerEvents = "auto", A(), v = e;
|
|
24912
25030
|
let i = globalThis.URL.createObjectURL(e);
|
|
24913
|
-
y = i, s.src = i, f.src = i, o.style.display = "block", P(b ?? N()), O(
|
|
25031
|
+
y = i, s.src = i, f.src = i, o.style.display = "block", P(b ?? N()), O(WE(n)), r > 0 && (S = t.setTimeout(j, r));
|
|
24914
25032
|
},
|
|
24915
25033
|
dismiss: j,
|
|
24916
25034
|
dispose() {
|
|
24917
25035
|
T || (T = !0, E(), D(), j(), t.removeEventListener("mousemove", H, !0), t.removeEventListener("mouseup", U, !0), t.removeEventListener("pointermove", te, !0), t.removeEventListener("pointerup", ne, !0), t.removeEventListener("pointercancel", re, !0), t.removeEventListener("keydown", oe, !0), o.removeEventListener("mousedown", ee), o.removeEventListener("pointerdown", W), o.removeEventListener("keydown", ie), o.removeEventListener("contextmenu", G), d.removeEventListener("click", ae), a.remove());
|
|
24918
25036
|
}
|
|
24919
25037
|
};
|
|
24920
|
-
},
|
|
25038
|
+
}, qE = "mesurer.screenshot", JE = "screenshot", YE = "mesurer.screenshot.settings", XE = "mesurer.screenshot.active", ZE = "runtime:solid", QE = "screenshot.toggle", $E = 2500, eD = 0, tD = [
|
|
24921
25039
|
"[data-mesurer-measurement='true']",
|
|
24922
25040
|
"[data-mesurer-selected-measurement='true']",
|
|
24923
25041
|
"[data-mesurer-selection-spacing-target='true']",
|
|
24924
25042
|
"[data-mesurer-guide='true']",
|
|
24925
25043
|
"[data-mesurer-distance='true']"
|
|
24926
|
-
].join(","),
|
|
25044
|
+
].join(","), nD = `${tD},[data-mesurer-rulers='true'],[data-mesurer-multi-selection-document-layer='true']`, rD = {
|
|
24927
25045
|
viewBox: "0 0 256 256",
|
|
24928
25046
|
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"]
|
|
24929
|
-
},
|
|
25047
|
+
}, iD = (e, t) => {
|
|
24930
25048
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
24931
|
-
},
|
|
25049
|
+
}, aD = (e, t) => {
|
|
24932
25050
|
for (let n of [
|
|
24933
25051
|
"left",
|
|
24934
25052
|
"top",
|
|
@@ -24940,63 +25058,63 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
24940
25058
|
let r = t[n];
|
|
24941
25059
|
r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
|
|
24942
25060
|
}
|
|
24943
|
-
},
|
|
24944
|
-
let t = e(
|
|
25061
|
+
}, oD = (e) => {
|
|
25062
|
+
let t = e(YE);
|
|
24945
25063
|
return {
|
|
24946
25064
|
toolEnabled: t?.toolEnabled ?? !0,
|
|
24947
25065
|
copy: t?.copy ?? !0,
|
|
24948
25066
|
download: t?.download ?? !1,
|
|
24949
25067
|
includeMeasurements: t?.includeMeasurements ?? !1
|
|
24950
25068
|
};
|
|
24951
|
-
},
|
|
25069
|
+
}, sD = (e) => ({
|
|
24952
25070
|
value: e.style.getPropertyValue("display"),
|
|
24953
25071
|
priority: e.style.getPropertyPriority("display")
|
|
24954
|
-
}),
|
|
25072
|
+
}), cD = (e, t) => {
|
|
24955
25073
|
t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
|
|
24956
|
-
},
|
|
25074
|
+
}, lD = (e, t) => {
|
|
24957
25075
|
let n = e;
|
|
24958
25076
|
for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
|
|
24959
25077
|
return n.parentElement === t ? n : null;
|
|
24960
|
-
},
|
|
25078
|
+
}, uD = (e) => {
|
|
24961
25079
|
let t = e.querySelector("[data-mesurer-root='true']");
|
|
24962
25080
|
if (!t) return () => void 0;
|
|
24963
25081
|
let n = /* @__PURE__ */ new Set();
|
|
24964
25082
|
for (let e of t.querySelectorAll("[data-mesurer-rulers='true']")) {
|
|
24965
|
-
let r =
|
|
25083
|
+
let r = lD(e, t);
|
|
24966
25084
|
r && n.add(r);
|
|
24967
25085
|
}
|
|
24968
|
-
for (let e of t.querySelectorAll(
|
|
24969
|
-
let r =
|
|
25086
|
+
for (let e of t.querySelectorAll(tD)) {
|
|
25087
|
+
let r = lD(e, t);
|
|
24970
25088
|
r && n.add(r);
|
|
24971
25089
|
}
|
|
24972
25090
|
let r = [];
|
|
24973
25091
|
for (let e of n) e.dataset.mesurerInspectorUi !== "true" && (r.push({
|
|
24974
25092
|
element: e,
|
|
24975
|
-
display:
|
|
25093
|
+
display: sD(e)
|
|
24976
25094
|
}), e.style.setProperty("display", "none", "important"));
|
|
24977
25095
|
return () => {
|
|
24978
|
-
for (let e of r)
|
|
25096
|
+
for (let e of r) cD(e.element, e.display);
|
|
24979
25097
|
};
|
|
24980
|
-
},
|
|
25098
|
+
}, dD = (e) => Array.from(e.querySelectorAll(nD)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
|
|
24981
25099
|
element: e,
|
|
24982
|
-
display:
|
|
24983
|
-
})),
|
|
24984
|
-
for (let t of e) t.element.isConnected &&
|
|
24985
|
-
},
|
|
24986
|
-
id:
|
|
25100
|
+
display: sD(e)
|
|
25101
|
+
})), fD = (e) => {
|
|
25102
|
+
for (let t of e) t.element.isConnected && cD(t.element, t.display);
|
|
25103
|
+
}, pD = (e = {}) => kc({
|
|
25104
|
+
id: qE,
|
|
24987
25105
|
version: "0.1.0",
|
|
24988
|
-
requires: [
|
|
25106
|
+
requires: [ZE],
|
|
24989
25107
|
provides: [
|
|
24990
25108
|
"tool:screenshot",
|
|
24991
25109
|
"capture:screenshot",
|
|
24992
25110
|
"settings:screenshot"
|
|
24993
25111
|
],
|
|
24994
25112
|
setup(t) {
|
|
24995
|
-
let n = t.service.get(
|
|
25113
|
+
let n = t.service.get(ZE);
|
|
24996
25114
|
if (!n) throw Error("Screenshot plugin requires the Solid renderer runtime.");
|
|
24997
|
-
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Cl, l = e.previewDurationMs ??
|
|
25115
|
+
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Cl, l = e.previewDurationMs ?? eD;
|
|
24998
25116
|
t.state.register({
|
|
24999
|
-
id:
|
|
25117
|
+
id: YE,
|
|
25000
25118
|
initial: {
|
|
25001
25119
|
toolEnabled: e.toolEnabled ?? !0,
|
|
25002
25120
|
copy: e.copy ?? !0,
|
|
@@ -25005,11 +25123,11 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25005
25123
|
},
|
|
25006
25124
|
persist: !0
|
|
25007
25125
|
}), t.state.register({
|
|
25008
|
-
id:
|
|
25126
|
+
id: XE,
|
|
25009
25127
|
initial: !1
|
|
25010
25128
|
});
|
|
25011
25129
|
let u = o.element;
|
|
25012
|
-
u.dataset.mesurerScreenshot = "true",
|
|
25130
|
+
u.dataset.mesurerScreenshot = "true", iD(u, {
|
|
25013
25131
|
position: "fixed",
|
|
25014
25132
|
inset: "0",
|
|
25015
25133
|
"z-index": "85",
|
|
@@ -25017,7 +25135,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25017
25135
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
25018
25136
|
});
|
|
25019
25137
|
let d = r.createElement("div");
|
|
25020
|
-
d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"),
|
|
25138
|
+
d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"), iD(d, {
|
|
25021
25139
|
position: "fixed",
|
|
25022
25140
|
inset: "0",
|
|
25023
25141
|
display: "none",
|
|
@@ -25029,13 +25147,13 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25029
25147
|
}), u.append(d);
|
|
25030
25148
|
let f = Array.from({ length: 4 }, () => {
|
|
25031
25149
|
let e = r.createElement("div");
|
|
25032
|
-
return
|
|
25150
|
+
return iD(e, {
|
|
25033
25151
|
position: "fixed",
|
|
25034
25152
|
"background-color": "rgb(0 0 0 / 40%)",
|
|
25035
25153
|
"pointer-events": "none"
|
|
25036
25154
|
}), d.append(e), e;
|
|
25037
25155
|
}), p = r.createElement("div");
|
|
25038
|
-
|
|
25156
|
+
iD(p, {
|
|
25039
25157
|
position: "fixed",
|
|
25040
25158
|
display: "none",
|
|
25041
25159
|
border: "1px solid #0d99ff",
|
|
@@ -25043,7 +25161,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25043
25161
|
"pointer-events": "none"
|
|
25044
25162
|
}), d.append(p);
|
|
25045
25163
|
let m = r.createElement("div");
|
|
25046
|
-
|
|
25164
|
+
iD(m, {
|
|
25047
25165
|
position: "fixed",
|
|
25048
25166
|
display: "none",
|
|
25049
25167
|
"z-index": "86",
|
|
@@ -25057,7 +25175,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25057
25175
|
"pointer-events": "none"
|
|
25058
25176
|
}), d.append(m);
|
|
25059
25177
|
let h = r.createElement("div");
|
|
25060
|
-
h.textContent = "Drag to select · Esc to cancel",
|
|
25178
|
+
h.textContent = "Drag to select · Esc to cancel", iD(h, {
|
|
25061
25179
|
position: "fixed",
|
|
25062
25180
|
left: "50%",
|
|
25063
25181
|
bottom: "16px",
|
|
@@ -25070,7 +25188,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25070
25188
|
"pointer-events": "none"
|
|
25071
25189
|
}), d.append(h);
|
|
25072
25190
|
let g = r.createElement("div");
|
|
25073
|
-
g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot",
|
|
25191
|
+
g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot", iD(g, {
|
|
25074
25192
|
position: "fixed",
|
|
25075
25193
|
display: "none",
|
|
25076
25194
|
"z-index": "97",
|
|
@@ -25081,8 +25199,8 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25081
25199
|
"font-size": "11px",
|
|
25082
25200
|
"pointer-events": "none"
|
|
25083
25201
|
}), u.append(g);
|
|
25084
|
-
let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () =>
|
|
25085
|
-
t.state.update(
|
|
25202
|
+
let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () => oD(t.state.get), E = (e) => {
|
|
25203
|
+
t.state.update(YE, (t) => {
|
|
25086
25204
|
let n = { ...t };
|
|
25087
25205
|
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;
|
|
25088
25206
|
});
|
|
@@ -25105,13 +25223,13 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25105
25223
|
}, A = (e) => {
|
|
25106
25224
|
let t = i.innerWidth, n = i.innerHeight;
|
|
25107
25225
|
if (!e || e.width <= 0 || e.height <= 0) {
|
|
25108
|
-
|
|
25226
|
+
aD(f[0], {
|
|
25109
25227
|
left: 0,
|
|
25110
25228
|
top: 0,
|
|
25111
25229
|
width: t,
|
|
25112
25230
|
height: n
|
|
25113
25231
|
});
|
|
25114
|
-
for (let e of f.slice(1))
|
|
25232
|
+
for (let e of f.slice(1)) aD(e, {
|
|
25115
25233
|
left: 0,
|
|
25116
25234
|
top: 0,
|
|
25117
25235
|
width: 0,
|
|
@@ -25120,31 +25238,31 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25120
25238
|
p.style.display = "none", m.style.display = "none";
|
|
25121
25239
|
return;
|
|
25122
25240
|
}
|
|
25123
|
-
|
|
25241
|
+
aD(f[0], {
|
|
25124
25242
|
left: 0,
|
|
25125
25243
|
top: 0,
|
|
25126
25244
|
width: t,
|
|
25127
25245
|
height: e.top
|
|
25128
|
-
}),
|
|
25246
|
+
}), aD(f[1], {
|
|
25129
25247
|
left: 0,
|
|
25130
25248
|
top: e.top,
|
|
25131
25249
|
width: e.left,
|
|
25132
25250
|
height: e.height
|
|
25133
|
-
}),
|
|
25251
|
+
}), aD(f[2], {
|
|
25134
25252
|
left: e.left + e.width,
|
|
25135
25253
|
top: e.top,
|
|
25136
25254
|
width: Math.max(0, t - e.left - e.width),
|
|
25137
25255
|
height: e.height
|
|
25138
|
-
}),
|
|
25256
|
+
}), aD(f[3], {
|
|
25139
25257
|
left: 0,
|
|
25140
25258
|
top: e.top + e.height,
|
|
25141
25259
|
width: t,
|
|
25142
25260
|
height: Math.max(0, n - e.top - e.height)
|
|
25143
|
-
}), p.style.display = "block",
|
|
25261
|
+
}), p.style.display = "block", aD(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, aD(m, {
|
|
25144
25262
|
left: e.left + e.width / 2,
|
|
25145
25263
|
top: Math.min(n - 22, e.top + e.height + 6)
|
|
25146
25264
|
});
|
|
25147
|
-
}, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M =
|
|
25265
|
+
}, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M = KE({
|
|
25148
25266
|
ownerDocument: r,
|
|
25149
25267
|
ownerWindow: i,
|
|
25150
25268
|
root: u,
|
|
@@ -25155,7 +25273,7 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25155
25273
|
}, P = () => {
|
|
25156
25274
|
y && i.clearTimeout(y), g.style.display = "block", N(g), y = i.setTimeout(() => {
|
|
25157
25275
|
y = 0, g.style.display = "none";
|
|
25158
|
-
},
|
|
25276
|
+
}, $E);
|
|
25159
25277
|
}, F = () => {
|
|
25160
25278
|
_ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
|
|
25161
25279
|
}, I = () => {
|
|
@@ -25164,8 +25282,8 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25164
25282
|
if (x) throw Error("A screenshot capture is already running.");
|
|
25165
25283
|
if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
|
|
25166
25284
|
x = !0;
|
|
25167
|
-
let o = ++b, s = T(), l = s.includeMeasurements ?
|
|
25168
|
-
a.prepareCapture(), s.includeMeasurements &&
|
|
25285
|
+
let o = ++b, s = T(), l = s.includeMeasurements ? dD(r) : [], u = s.includeMeasurements ? () => void 0 : uD(n.portalTarget);
|
|
25286
|
+
a.prepareCapture(), s.includeMeasurements && fD(l);
|
|
25169
25287
|
try {
|
|
25170
25288
|
d.style.visibility = "hidden", await al(i);
|
|
25171
25289
|
let n = await tl(await c({
|
|
@@ -25273,10 +25391,10 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25273
25391
|
label: "Screenshot",
|
|
25274
25392
|
shortcut: "Shift+S",
|
|
25275
25393
|
order: 70,
|
|
25276
|
-
command:
|
|
25394
|
+
command: QE,
|
|
25277
25395
|
toolbarMode: "select",
|
|
25278
25396
|
compactPinned: !0,
|
|
25279
|
-
icon:
|
|
25397
|
+
icon: rD,
|
|
25280
25398
|
active: w,
|
|
25281
25399
|
hidden: () => !T().toolEnabled,
|
|
25282
25400
|
menu: {
|
|
@@ -25342,31 +25460,31 @@ var Fw = "mesurer.layout-guides", Iw = "layout-guides:v1", Lw = "mesurer.layout-
|
|
|
25342
25460
|
set: (e) => E({ includeMeasurements: e })
|
|
25343
25461
|
}
|
|
25344
25462
|
]
|
|
25345
|
-
}), t.command.register(
|
|
25463
|
+
}), t.command.register(QE, R), t.service.provide(JE, U), t.lifecycle.onDispose(() => {
|
|
25346
25464
|
C = !0, b += 1, d.removeEventListener("pointerdown", z), d.removeEventListener("pointermove", B), d.removeEventListener("pointerup", V), d.removeEventListener("pointercancel", ee), i.removeEventListener("keydown", H, !0), y && i.clearTimeout(y), M.dispose(), k(), wl(i), a.finishCapture(), a.dispose(), o.dispose();
|
|
25347
25465
|
});
|
|
25348
25466
|
}
|
|
25349
|
-
}),
|
|
25467
|
+
}), mD = (e) => Number.parseFloat(e) || 0, hD = 0, gD = (e, t) => {
|
|
25350
25468
|
let n = t.CSS;
|
|
25351
25469
|
return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
|
|
25352
|
-
},
|
|
25353
|
-
function
|
|
25470
|
+
}, _D = (e) => e.nodeType === 9, vD = (e) => e.nodeType === 11;
|
|
25471
|
+
function yD(e) {
|
|
25354
25472
|
let t = e.getRootNode();
|
|
25355
|
-
return
|
|
25473
|
+
return vD(t) ? t : e.ownerDocument;
|
|
25356
25474
|
}
|
|
25357
|
-
var
|
|
25358
|
-
if (
|
|
25359
|
-
let n =
|
|
25360
|
-
return
|
|
25361
|
-
},
|
|
25475
|
+
var bD = (e, t) => {
|
|
25476
|
+
if (_D(e) || vD(e)) return e;
|
|
25477
|
+
let n = yD(e);
|
|
25478
|
+
return vD(n) ? n : t;
|
|
25479
|
+
}, xD = 600, SD = "audio, canvas, embed, iframe, img, input, object, picture, select, textarea, video", CD = /* @__PURE__ */ new WeakMap(), wD = (e) => {
|
|
25362
25480
|
let t = e;
|
|
25363
25481
|
for (; t;) {
|
|
25364
|
-
if ((
|
|
25482
|
+
if ((CD.get(t) ?? 0) > 0) return !0;
|
|
25365
25483
|
let e = t.getRootNode();
|
|
25366
|
-
t =
|
|
25484
|
+
t = vD(e) ? e.host : t.parentElement;
|
|
25367
25485
|
}
|
|
25368
25486
|
return !1;
|
|
25369
|
-
},
|
|
25487
|
+
}, TD = (e, t) => t.x >= e.left && t.x <= e.right && t.y >= e.top && t.y <= e.bottom, ED = (e, t) => Array.from(e.getClientRects()).some((e) => TD(e, t)), DD = (e, t, n) => {
|
|
25370
25488
|
let r = e;
|
|
25371
25489
|
for (; r;) {
|
|
25372
25490
|
let e = n.getComputedStyle(r);
|
|
@@ -25375,7 +25493,7 @@ var _D = (e, t) => {
|
|
|
25375
25493
|
r = r.parentElement;
|
|
25376
25494
|
}
|
|
25377
25495
|
return !0;
|
|
25378
|
-
},
|
|
25496
|
+
}, OD = (e, t) => {
|
|
25379
25497
|
if (e.matches("img, picture, video, canvas, svg image, path, circle, ellipse, line, polygon, polyline, rect, text, use")) return !0;
|
|
25380
25498
|
let n = t.getComputedStyle(e), r = n.backgroundImage !== "none" || n.backgroundColor !== "transparent" && n.backgroundColor !== "rgba(0, 0, 0, 0)", i = [
|
|
25381
25499
|
"top",
|
|
@@ -25384,7 +25502,7 @@ var _D = (e, t) => {
|
|
|
25384
25502
|
"left"
|
|
25385
25503
|
].some((e) => Number.parseFloat(n.getPropertyValue(`border-${e}-width`)) > 0 && n.getPropertyValue(`border-${e}-style`) !== "none");
|
|
25386
25504
|
return r || i || n.boxShadow !== "none" || n.outlineStyle !== "none";
|
|
25387
|
-
},
|
|
25505
|
+
}, kD = (e, t) => !!e.textContent?.trim() || OD(e, t), AD = (e, t, n) => {
|
|
25388
25506
|
let r = t, i = r.caretRangeFromPoint?.(e.x, e.y)?.startContainer ?? r.caretPositionFromPoint?.(e.x, e.y)?.offsetNode;
|
|
25389
25507
|
if (!i) return null;
|
|
25390
25508
|
let a = t.defaultView?.Element;
|
|
@@ -25395,11 +25513,11 @@ var _D = (e, t) => {
|
|
|
25395
25513
|
o = o.parentElement;
|
|
25396
25514
|
}
|
|
25397
25515
|
return o === n ? n : null;
|
|
25398
|
-
},
|
|
25516
|
+
}, jD = (e, t, n) => {
|
|
25399
25517
|
let r = n.defaultView, i = r?.Element;
|
|
25400
25518
|
if (!r || !i) return [];
|
|
25401
25519
|
let a = [], o = /* @__PURE__ */ new Set(), s = (n, i, s) => {
|
|
25402
|
-
if (o.has(n) ||
|
|
25520
|
+
if (o.has(n) || wD(n) || r.getComputedStyle(n).pointerEvents !== "none" || DD(n, e, r) || !ED(n, t)) return;
|
|
25403
25521
|
let c = n.getBoundingClientRect();
|
|
25404
25522
|
o.add(n), a.push({
|
|
25405
25523
|
element: n,
|
|
@@ -25408,7 +25526,7 @@ var _D = (e, t) => {
|
|
|
25408
25526
|
order: s
|
|
25409
25527
|
});
|
|
25410
25528
|
}, c = n.createTreeWalker(e, 1), l = c.nextNode(), u = 1;
|
|
25411
|
-
for (; l && u <=
|
|
25529
|
+
for (; l && u <= xD;) {
|
|
25412
25530
|
if (l instanceof i) {
|
|
25413
25531
|
let t = l;
|
|
25414
25532
|
if (r.getComputedStyle(t).pointerEvents === "none") {
|
|
@@ -25419,9 +25537,9 @@ var _D = (e, t) => {
|
|
|
25419
25537
|
}
|
|
25420
25538
|
u += 1, l = c.nextNode();
|
|
25421
25539
|
}
|
|
25422
|
-
let d =
|
|
25540
|
+
let d = AD(t, n, e);
|
|
25423
25541
|
return d && r.getComputedStyle(d).pointerEvents === "none" && s(d, 1e4, u), a.sort((e, t) => t.depth - e.depth || e.area - t.area || t.order - e.order).map(({ element: e }) => e);
|
|
25424
|
-
},
|
|
25542
|
+
}, MD = (e, t, n) => {
|
|
25425
25543
|
let r = t.ownerDocument.defaultView;
|
|
25426
25544
|
if (!r) return [];
|
|
25427
25545
|
let i = [...new Set(e)], a = /* @__PURE__ */ new Map();
|
|
@@ -25430,7 +25548,7 @@ var _D = (e, t) => {
|
|
|
25430
25548
|
t && (a.set(e, e.getAttribute("style")), t.style.setProperty("pointer-events", "auto", "important"));
|
|
25431
25549
|
}
|
|
25432
25550
|
try {
|
|
25433
|
-
let e =
|
|
25551
|
+
let e = yD(t).elementsFromPoint(n.x, n.y), r = e.findIndex((e) => e === t), a = new Map(e.map((e, t) => [e, t]));
|
|
25434
25552
|
return i.filter((e) => {
|
|
25435
25553
|
let t = a.get(e);
|
|
25436
25554
|
return t !== void 0 && (r < 0 || t < r);
|
|
@@ -25438,31 +25556,31 @@ var _D = (e, t) => {
|
|
|
25438
25556
|
} finally {
|
|
25439
25557
|
for (let [e, t] of a) t === null ? e.removeAttribute("style") : e.setAttribute("style", t);
|
|
25440
25558
|
}
|
|
25441
|
-
},
|
|
25559
|
+
}, ND = (e, t) => {
|
|
25442
25560
|
let n = e;
|
|
25443
25561
|
for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
|
|
25444
25562
|
return n.parentElement === t ? n : null;
|
|
25445
|
-
},
|
|
25563
|
+
}, PD = (e, t, n, r) => {
|
|
25446
25564
|
let i = r.defaultView;
|
|
25447
25565
|
if (!i) return [];
|
|
25448
|
-
let a =
|
|
25566
|
+
let a = MD(jD(e, t, r).filter((e) => kD(e, i)), e, t);
|
|
25449
25567
|
if (a.length > 0) return a;
|
|
25450
|
-
if (e.textContent?.trim() && !e.matches(
|
|
25451
|
-
let o = [], s = /* @__PURE__ */ new Set(), c = !
|
|
25568
|
+
if (e.textContent?.trim() && !e.matches(SD) || e.matches("a, button, input, select, textarea, label, summary, [contenteditable='true']")) return [];
|
|
25569
|
+
let o = [], s = /* @__PURE__ */ new Set(), c = !_D(n) && !vD(n) ? n : null, l = e.parentElement;
|
|
25452
25570
|
for (; l && l !== r.body && l !== r.documentElement && !(c && l !== c && !c.contains(l));) {
|
|
25453
|
-
let a = l, u =
|
|
25454
|
-
if (!
|
|
25455
|
-
let t =
|
|
25571
|
+
let a = l, u = ND(e, a), d = jD(a, t, r).filter((e) => {
|
|
25572
|
+
if (!ID(e, n) || e.closest("[aria-hidden='true'], [inert]")) return !1;
|
|
25573
|
+
let t = ND(e, a);
|
|
25456
25574
|
return t === null || t !== u;
|
|
25457
25575
|
});
|
|
25458
|
-
for (let e of d) s.has(e) || !
|
|
25576
|
+
for (let e of d) s.has(e) || !kD(e, i) || (s.add(e), o.push(e));
|
|
25459
25577
|
if (a === c) break;
|
|
25460
25578
|
l = a.parentElement;
|
|
25461
25579
|
}
|
|
25462
|
-
return
|
|
25580
|
+
return MD(o, e, t);
|
|
25463
25581
|
};
|
|
25464
|
-
function
|
|
25465
|
-
let r =
|
|
25582
|
+
function FD(e, t, n = _D(t) ? t : t.ownerDocument ?? document) {
|
|
25583
|
+
let r = bD(t, n), i = n.defaultView;
|
|
25466
25584
|
if (!i) return null;
|
|
25467
25585
|
let a = r.elementsFromPoint(e.x, e.y);
|
|
25468
25586
|
for (let r of a) {
|
|
@@ -25472,28 +25590,28 @@ function MD(e, t, n = mD(t) ? t : t.ownerDocument ?? document) {
|
|
|
25472
25590
|
if (!t || t === a) break;
|
|
25473
25591
|
a = t;
|
|
25474
25592
|
}
|
|
25475
|
-
if (!a || !
|
|
25476
|
-
let o =
|
|
25593
|
+
if (!a || !ID(a, t)) continue;
|
|
25594
|
+
let o = PD(a, e, t, n);
|
|
25477
25595
|
if (o.length > 0) return o[0];
|
|
25478
25596
|
if (i.getComputedStyle(a).pointerEvents !== "none") return a;
|
|
25479
25597
|
}
|
|
25480
25598
|
return null;
|
|
25481
25599
|
}
|
|
25482
|
-
function
|
|
25483
|
-
if (
|
|
25600
|
+
function ID(e, t) {
|
|
25601
|
+
if (_D(t)) return !0;
|
|
25484
25602
|
let n = e;
|
|
25485
25603
|
for (; n;) {
|
|
25486
25604
|
if (t === n || t.contains(n)) return !0;
|
|
25487
25605
|
let e = n.getRootNode();
|
|
25488
|
-
if (!
|
|
25606
|
+
if (!vD(e)) return !1;
|
|
25489
25607
|
n = e.host;
|
|
25490
25608
|
}
|
|
25491
25609
|
return !1;
|
|
25492
25610
|
}
|
|
25493
|
-
function
|
|
25611
|
+
function LD(e, t) {
|
|
25494
25612
|
if (!e) return t();
|
|
25495
|
-
let n =
|
|
25496
|
-
|
|
25613
|
+
let n = CD.get(e) ?? 0;
|
|
25614
|
+
CD.set(e, n + 1);
|
|
25497
25615
|
let r = [e, ...e.querySelectorAll("*")], i = r.map((e) => [
|
|
25498
25616
|
e,
|
|
25499
25617
|
e.style.getPropertyValue("pointer-events"),
|
|
@@ -25503,13 +25621,13 @@ function PD(e, t) {
|
|
|
25503
25621
|
try {
|
|
25504
25622
|
return t();
|
|
25505
25623
|
} finally {
|
|
25506
|
-
n === 0 ?
|
|
25624
|
+
n === 0 ? CD.delete(e) : CD.set(e, n);
|
|
25507
25625
|
for (let [e, t, n] of i) t ? e.style.setProperty("pointer-events", t, n) : e.style.removeProperty("pointer-events");
|
|
25508
25626
|
}
|
|
25509
25627
|
}
|
|
25510
|
-
function
|
|
25628
|
+
function RD(e) {
|
|
25511
25629
|
let t = e.ownerDocument.defaultView ?? window;
|
|
25512
|
-
if (e.id) return `#${
|
|
25630
|
+
if (e.id) return `#${gD(e.id, t)}`;
|
|
25513
25631
|
let n = e.getAttribute("data-testid");
|
|
25514
25632
|
if (n) return `[data-testid=${JSON.stringify(n)}]`;
|
|
25515
25633
|
let r = [], i = e;
|
|
@@ -25523,17 +25641,17 @@ function FD(e) {
|
|
|
25523
25641
|
}
|
|
25524
25642
|
return r.join(" > ");
|
|
25525
25643
|
}
|
|
25526
|
-
function
|
|
25644
|
+
function zD(e, t, n = `dom-inspection-${++hD}`) {
|
|
25527
25645
|
let r = e.getBoundingClientRect(), i = t.getComputedStyle(e), a = {
|
|
25528
|
-
top:
|
|
25529
|
-
right:
|
|
25530
|
-
bottom:
|
|
25531
|
-
left:
|
|
25646
|
+
top: mD(i.paddingTop),
|
|
25647
|
+
right: mD(i.paddingRight),
|
|
25648
|
+
bottom: mD(i.paddingBottom),
|
|
25649
|
+
left: mD(i.paddingLeft)
|
|
25532
25650
|
}, o = {
|
|
25533
|
-
top:
|
|
25534
|
-
right:
|
|
25535
|
-
bottom:
|
|
25536
|
-
left:
|
|
25651
|
+
top: mD(i.marginTop),
|
|
25652
|
+
right: mD(i.marginRight),
|
|
25653
|
+
bottom: mD(i.marginBottom),
|
|
25654
|
+
left: mD(i.marginLeft)
|
|
25537
25655
|
}, s = {
|
|
25538
25656
|
left: r.left + a.left,
|
|
25539
25657
|
top: r.top + a.top,
|
|
@@ -25561,8 +25679,8 @@ function ID(e, t, n = `dom-inspection-${++fD}`) {
|
|
|
25561
25679
|
elementRef: e
|
|
25562
25680
|
};
|
|
25563
25681
|
}
|
|
25564
|
-
function
|
|
25565
|
-
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ?
|
|
25682
|
+
function BD(e) {
|
|
25683
|
+
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? zD(r, t) : null, o = (e) => {
|
|
25566
25684
|
let t = Number.parseFloat(e);
|
|
25567
25685
|
return Number.isFinite(t) ? t : 0;
|
|
25568
25686
|
}, s = (e) => ({
|
|
@@ -25572,7 +25690,7 @@ function LD(e) {
|
|
|
25572
25690
|
left: o(n.getPropertyValue(`${e}-left${e === "border" ? "-width" : ""}`))
|
|
25573
25691
|
});
|
|
25574
25692
|
return {
|
|
25575
|
-
selector:
|
|
25693
|
+
selector: RD(e),
|
|
25576
25694
|
tag: e.localName,
|
|
25577
25695
|
id: e.id || null,
|
|
25578
25696
|
classes: [...e.classList],
|
|
@@ -25634,10 +25752,10 @@ function LD(e) {
|
|
|
25634
25752
|
}
|
|
25635
25753
|
//#endregion
|
|
25636
25754
|
//#region src/agent.ts
|
|
25637
|
-
var
|
|
25638
|
-
function
|
|
25639
|
-
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 ||
|
|
25640
|
-
let t = (e.getPluginHost() ?? await e.waitForPluginHost()).service.get(
|
|
25755
|
+
var VD = "text-edit", HD = (e) => BD(e);
|
|
25756
|
+
function UD(e) {
|
|
25757
|
+
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 || ID(n, t), a = async () => {
|
|
25758
|
+
let t = (e.getPluginHost() ?? await e.waitForPluginHost()).service.get(VD);
|
|
25641
25759
|
if (!t) throw Error("Mesurer text editing service is unavailable.");
|
|
25642
25760
|
return t;
|
|
25643
25761
|
}, o = () => {
|
|
@@ -25666,25 +25784,25 @@ function BD(e) {
|
|
|
25666
25784
|
},
|
|
25667
25785
|
inspect(e, t = 0) {
|
|
25668
25786
|
let n = r(e, t);
|
|
25669
|
-
return n ?
|
|
25787
|
+
return n ? HD(n) : null;
|
|
25670
25788
|
},
|
|
25671
25789
|
inspectAll(e, n = 50) {
|
|
25672
|
-
return [...t.querySelectorAll(e)].slice(0, Math.max(0, n)).map(
|
|
25790
|
+
return [...t.querySelectorAll(e)].slice(0, Math.max(0, n)).map(HD);
|
|
25673
25791
|
},
|
|
25674
25792
|
at(n, r) {
|
|
25675
25793
|
let a = t.querySelector?.("[data-mesurer-island]") ?? null;
|
|
25676
|
-
return
|
|
25677
|
-
let a =
|
|
25794
|
+
return LD(a?.shadowRoot?.querySelector("[data-mesurer-root='true']") ?? a, () => {
|
|
25795
|
+
let a = FD({
|
|
25678
25796
|
x: n,
|
|
25679
25797
|
y: r
|
|
25680
25798
|
}, t, e.ownerDocument);
|
|
25681
|
-
return a && i(a) ?
|
|
25799
|
+
return a && i(a) ? HD(a) : null;
|
|
25682
25800
|
});
|
|
25683
25801
|
},
|
|
25684
25802
|
distance(e, t) {
|
|
25685
25803
|
let n = r(e), i = r(t);
|
|
25686
25804
|
if (!n || !i) return null;
|
|
25687
|
-
let a =
|
|
25805
|
+
let a = HD(n), o = HD(i), s = a.rect, c = o.rect;
|
|
25688
25806
|
return {
|
|
25689
25807
|
a,
|
|
25690
25808
|
b: o,
|
|
@@ -25700,7 +25818,7 @@ function BD(e) {
|
|
|
25700
25818
|
let r = e.getPluginHost() ?? await e.waitForPluginHost();
|
|
25701
25819
|
return {
|
|
25702
25820
|
viewport: o(),
|
|
25703
|
-
elements: n.flatMap((e) => [...t.querySelectorAll(e)].slice(0, 50).map(
|
|
25821
|
+
elements: n.flatMap((e) => [...t.querySelectorAll(e)].slice(0, 50).map(HD)),
|
|
25704
25822
|
plugins: r.describe(),
|
|
25705
25823
|
pluginState: r.state.serialize("all")
|
|
25706
25824
|
};
|
|
@@ -25725,10 +25843,10 @@ function BD(e) {
|
|
|
25725
25843
|
}
|
|
25726
25844
|
//#endregion
|
|
25727
25845
|
//#region src/version.ts
|
|
25728
|
-
var
|
|
25846
|
+
var WD = "0.2.3-beta.7", GD = by, KD = xy, qD = () => ({
|
|
25729
25847
|
...gb(),
|
|
25730
|
-
version:
|
|
25731
|
-
}),
|
|
25848
|
+
version: WD
|
|
25849
|
+
}), JD = KD, YD = (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, XD = (e) => {
|
|
25732
25850
|
if (!e.length) return null;
|
|
25733
25851
|
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));
|
|
25734
25852
|
return {
|
|
@@ -25737,36 +25855,36 @@ var VD = "0.2.3-beta.6", HD = by, UD = xy, WD = () => ({
|
|
|
25737
25855
|
width: r - t,
|
|
25738
25856
|
height: i - n
|
|
25739
25857
|
};
|
|
25740
|
-
},
|
|
25741
|
-
function
|
|
25858
|
+
}, ZD = (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), QD = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
|
|
25859
|
+
function $D(e) {
|
|
25742
25860
|
let { workspace: t, scope: n, guideTolerance: r } = e;
|
|
25743
25861
|
if (n.kind === "workspace") return {
|
|
25744
25862
|
guides: t.guides.map((e) => ({ ...e })),
|
|
25745
|
-
measurements:
|
|
25863
|
+
measurements: QD(t),
|
|
25746
25864
|
distances: [...t.distances]
|
|
25747
25865
|
};
|
|
25748
|
-
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) =>
|
|
25866
|
+
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => YD(e, t));
|
|
25749
25867
|
return {
|
|
25750
|
-
guides: t.guides.filter((e) =>
|
|
25751
|
-
measurements:
|
|
25868
|
+
guides: t.guides.filter((e) => ZD(e, n.regions, r)).map((e) => ({ ...e })),
|
|
25869
|
+
measurements: QD(t).filter((e) => a(e.elementRef) || o(e.rect)),
|
|
25752
25870
|
distances: t.distances.filter((e) => a(e.elementRefA) || a(e.elementRefB) || o(e.rectA) || o(e.rectB))
|
|
25753
25871
|
};
|
|
25754
25872
|
}
|
|
25755
25873
|
//#endregion
|
|
25756
25874
|
//#region ../mesurer-core/dist/domain.js
|
|
25757
|
-
var
|
|
25875
|
+
var eO = {
|
|
25758
25876
|
opacity: 1,
|
|
25759
25877
|
width: 1,
|
|
25760
25878
|
pattern: "solid",
|
|
25761
25879
|
dashLength: 6,
|
|
25762
25880
|
gap: 4
|
|
25763
|
-
},
|
|
25881
|
+
}, tO = {
|
|
25764
25882
|
opacity: 1,
|
|
25765
25883
|
edgeReveal: !1
|
|
25766
25884
|
};
|
|
25767
25885
|
//#endregion
|
|
25768
25886
|
//#region ../mesurer-core/dist/events.js
|
|
25769
|
-
function
|
|
25887
|
+
function nO() {
|
|
25770
25888
|
let e = /* @__PURE__ */ new Map();
|
|
25771
25889
|
return {
|
|
25772
25890
|
on(t, n) {
|
|
@@ -25784,12 +25902,12 @@ function $D() {
|
|
|
25784
25902
|
}
|
|
25785
25903
|
};
|
|
25786
25904
|
}
|
|
25787
|
-
({ ...
|
|
25905
|
+
({ ...eO }), { ...tO };
|
|
25788
25906
|
//#endregion
|
|
25789
25907
|
//#region ../mesurer-core/dist/plugins.js
|
|
25790
|
-
var
|
|
25791
|
-
function
|
|
25792
|
-
let e = 1, t = 0, n =
|
|
25908
|
+
var rO = 50;
|
|
25909
|
+
function iO() {
|
|
25910
|
+
let e = 1, t = 0, n = nO(), 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) => {
|
|
25793
25911
|
n.emit("changed", {
|
|
25794
25912
|
pluginId: e,
|
|
25795
25913
|
reason: t
|
|
@@ -25852,15 +25970,15 @@ function tO() {
|
|
|
25852
25970
|
}
|
|
25853
25971
|
if (o && s) {
|
|
25854
25972
|
let e = y("history");
|
|
25855
|
-
x(s, e) || (p.push(s), p.length >
|
|
25973
|
+
x(s, e) || (p.push(s), p.length > rO && p.shift(), m.length = 0);
|
|
25856
25974
|
}
|
|
25857
25975
|
return l;
|
|
25858
25976
|
}, w = () => {
|
|
25859
25977
|
let e = p.pop();
|
|
25860
|
-
return e ? (m.push(y("history")), m.length >
|
|
25978
|
+
return e ? (m.push(y("history")), m.length > rO && m.shift(), b(e, "history"), h(void 0, "history"), !0) : !1;
|
|
25861
25979
|
}, T = () => {
|
|
25862
25980
|
let e = m.pop();
|
|
25863
|
-
return e ? (p.push(y("history")), p.length >
|
|
25981
|
+
return e ? (p.push(y("history")), p.length > rO && p.shift(), b(e, "history"), h(void 0, "history"), !0) : !1;
|
|
25864
25982
|
}, E = async (e, t) => {
|
|
25865
25983
|
for (let n of [...l.values()].filter((t) => t.name === e)) await n.handler(t);
|
|
25866
25984
|
}, D = (e) => [...u.values()].reverse().find((t) => t.id === e)?.value, O = {
|
|
@@ -26017,8 +26135,8 @@ function tO() {
|
|
|
26017
26135
|
}
|
|
26018
26136
|
//#endregion
|
|
26019
26137
|
//#region ../mesurer-core/dist/runtime.js
|
|
26020
|
-
async function
|
|
26021
|
-
let t =
|
|
26138
|
+
async function aO(e = {}) {
|
|
26139
|
+
let t = iO();
|
|
26022
26140
|
try {
|
|
26023
26141
|
for (let n of e.plugins ?? []) await t.load(n);
|
|
26024
26142
|
return t;
|
|
@@ -26028,25 +26146,29 @@ async function nO(e = {}) {
|
|
|
26028
26146
|
}
|
|
26029
26147
|
//#endregion
|
|
26030
26148
|
//#region src/context.ts
|
|
26031
|
-
var
|
|
26149
|
+
var oO = 10, sO = (e) => ({
|
|
26032
26150
|
left: e.left,
|
|
26033
26151
|
top: e.top,
|
|
26034
26152
|
width: e.width,
|
|
26035
26153
|
height: e.height
|
|
26036
|
-
}),
|
|
26154
|
+
}), cO = (e) => {
|
|
26037
26155
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
26038
26156
|
for (let r of e) !r?.isConnected || t.has(r) || (t.add(r), n.push(r));
|
|
26039
26157
|
return n;
|
|
26040
|
-
},
|
|
26041
|
-
function
|
|
26158
|
+
}, lO = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
26159
|
+
function uO(e) {
|
|
26042
26160
|
let { runtime: t, ownerDocument: n, ownerWindow: r } = e, i = e.request ?? { scope: "workspace" }, a = t.snapshot();
|
|
26043
26161
|
if (!a) throw Error("Mesurer workspace is not ready yet.");
|
|
26044
|
-
let o = (e) =>
|
|
26162
|
+
let o = (e) => sO(t.elementRect?.(e) ?? e.getBoundingClientRect()), s = [], c = [], l = { kind: "workspace" }, u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f;
|
|
26045
26163
|
if ("annotation" in i) {
|
|
26046
26164
|
let e = t.annotation(i.annotation);
|
|
26047
26165
|
if (!e) throw Error(`Mesurer annotation not found: ${i.annotation}`);
|
|
26048
|
-
|
|
26049
|
-
|
|
26166
|
+
e.anchor.kind === "elements" && (f = e.anchor.targets.find((e) => e.viewport)?.viewport);
|
|
26167
|
+
for (let t of e.resolvedTargets) t.element?.isConnected && (u.set(t.element, t.target.id), t.target.viewport && d.set(t.element, {
|
|
26168
|
+
viewport: { ...t.target.viewport },
|
|
26169
|
+
domPath: t.target.domPath?.map((e) => ({ ...e })) ?? []
|
|
26170
|
+
}));
|
|
26171
|
+
s = cO(e.resolvedTargets.map((e) => e.element));
|
|
26050
26172
|
let n = t.annotationRect(e.id);
|
|
26051
26173
|
n && (c = [n]);
|
|
26052
26174
|
let r = e.resolvedTargets.length, a = e.resolvedTargets.filter((e) => e.element?.isConnected).length, o = e.anchor.kind === "region" ? "connected" : r === 0 || a === 0 ? "stale" : a === r ? "connected" : "partial";
|
|
@@ -26058,15 +26180,15 @@ function sO(e) {
|
|
|
26058
26180
|
};
|
|
26059
26181
|
} else if (i.scope === "selection") {
|
|
26060
26182
|
let e = t.currentSelection();
|
|
26061
|
-
if (s =
|
|
26183
|
+
if (s = cO(e.elements), !s.length && !e.region) throw Error("Mesurer has no current selection.");
|
|
26062
26184
|
c = e.region ? [e.region] : s.map(o), l = { kind: "selection" };
|
|
26063
|
-
} else s =
|
|
26185
|
+
} else s = cO([
|
|
26064
26186
|
...t.currentSelection().elements,
|
|
26065
26187
|
...a.measurements.map((e) => e.elementRef),
|
|
26066
26188
|
a.activeMeasurement?.elementRef,
|
|
26067
26189
|
...a.heldDistances.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
26068
26190
|
]);
|
|
26069
|
-
let
|
|
26191
|
+
let p = l.kind === "workspace" ? [] : c.length ? c : s.map(o), m = $D({
|
|
26070
26192
|
workspace: {
|
|
26071
26193
|
guides: a.guides,
|
|
26072
26194
|
measurements: a.measurements,
|
|
@@ -26076,55 +26198,55 @@ function sO(e) {
|
|
|
26076
26198
|
scope: l.kind === "workspace" ? { kind: "workspace" } : {
|
|
26077
26199
|
kind: "scoped",
|
|
26078
26200
|
elements: s,
|
|
26079
|
-
regions:
|
|
26201
|
+
regions: p
|
|
26080
26202
|
},
|
|
26081
|
-
guideTolerance: a.guideRelevanceTolerance ??
|
|
26082
|
-
}),
|
|
26203
|
+
guideTolerance: a.guideRelevanceTolerance ?? oO
|
|
26204
|
+
}), h = m.measurements, g = m.distances, _ = m.guides, v = cO([
|
|
26083
26205
|
...s,
|
|
26084
|
-
...
|
|
26085
|
-
...
|
|
26086
|
-
]),
|
|
26087
|
-
let e = `target-${
|
|
26088
|
-
for (;
|
|
26089
|
-
return
|
|
26090
|
-
},
|
|
26091
|
-
let
|
|
26092
|
-
return
|
|
26093
|
-
ref:
|
|
26206
|
+
...h.map((e) => e.elementRef),
|
|
26207
|
+
...g.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
26208
|
+
]), y = /* @__PURE__ */ new Map(), b = new Set(u.values()), x = 1, S = () => {
|
|
26209
|
+
let e = `target-${x++}`;
|
|
26210
|
+
for (; b.has(e);) e = `target-${x++}`;
|
|
26211
|
+
return b.add(e), e;
|
|
26212
|
+
}, C = v.map((e) => {
|
|
26213
|
+
let n = u.get(e) ?? S(), r = o(e), i = BD(e);
|
|
26214
|
+
return y.set(e, n), {
|
|
26215
|
+
ref: n,
|
|
26216
|
+
...d.get(e) ?? t.targetScope?.(e),
|
|
26094
26217
|
inspection: {
|
|
26095
|
-
...
|
|
26218
|
+
...i,
|
|
26096
26219
|
rect: {
|
|
26097
|
-
...
|
|
26098
|
-
right:
|
|
26099
|
-
bottom:
|
|
26100
|
-
x:
|
|
26101
|
-
y:
|
|
26220
|
+
...r,
|
|
26221
|
+
right: r.left + r.width,
|
|
26222
|
+
bottom: r.top + r.height,
|
|
26223
|
+
x: r.left,
|
|
26224
|
+
y: r.top
|
|
26102
26225
|
}
|
|
26103
26226
|
}
|
|
26104
26227
|
};
|
|
26105
|
-
}),
|
|
26228
|
+
}), w = h.map((e) => {
|
|
26106
26229
|
let t = {
|
|
26107
26230
|
id: e.id,
|
|
26108
|
-
rect:
|
|
26231
|
+
rect: sO(e.rect),
|
|
26109
26232
|
deltaX: e.deltaX,
|
|
26110
26233
|
deltaY: e.deltaY
|
|
26111
26234
|
};
|
|
26112
26235
|
e.snapped !== void 0 && (t.snapped = e.snapped);
|
|
26113
|
-
let n = e.elementRef ?
|
|
26236
|
+
let n = e.elementRef ? y.get(e.elementRef) : void 0;
|
|
26114
26237
|
return n && (t.targetRef = n), t;
|
|
26115
|
-
}),
|
|
26238
|
+
}), T = g.map((e) => {
|
|
26116
26239
|
let t = {
|
|
26117
26240
|
id: e.id,
|
|
26118
|
-
rectA:
|
|
26119
|
-
rectB:
|
|
26241
|
+
rectA: sO(e.rectA),
|
|
26242
|
+
rectB: sO(e.rectB),
|
|
26120
26243
|
horizontal: e.horizontal ? { ...e.horizontal } : null,
|
|
26121
26244
|
vertical: e.vertical ? { ...e.vertical } : null
|
|
26122
|
-
}, n = e.elementRefA ?
|
|
26245
|
+
}, n = e.elementRefA ? y.get(e.elementRefA) : void 0, r = e.elementRefB ? y.get(e.elementRefB) : void 0;
|
|
26123
26246
|
return n && (t.targetARef = n), r && (t.targetBRef = r), t;
|
|
26124
|
-
})
|
|
26125
|
-
return {
|
|
26247
|
+
}), E = {
|
|
26126
26248
|
schema: "mesurer.context/v1",
|
|
26127
|
-
id:
|
|
26249
|
+
id: lO(r),
|
|
26128
26250
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
26129
26251
|
scope: l,
|
|
26130
26252
|
page: {
|
|
@@ -26139,62 +26261,63 @@ function sO(e) {
|
|
|
26139
26261
|
scrollY: r.scrollY
|
|
26140
26262
|
},
|
|
26141
26263
|
coordinateSpace: "viewport-css-px",
|
|
26142
|
-
regions: l.kind === "workspace" ? [] : c.map(
|
|
26264
|
+
regions: l.kind === "workspace" ? [] : c.map(sO),
|
|
26143
26265
|
visualState: {
|
|
26144
26266
|
rulersVisible: a.rulersVisible,
|
|
26145
26267
|
xrayVisible: a.xrayVisible
|
|
26146
26268
|
},
|
|
26147
|
-
targets:
|
|
26269
|
+
targets: C,
|
|
26148
26270
|
visualContext: {
|
|
26149
|
-
guides:
|
|
26271
|
+
guides: _,
|
|
26150
26272
|
layoutGuides: (e.layoutGuides ?? []).map((e) => ({ ...e })),
|
|
26151
|
-
measurements:
|
|
26152
|
-
distances:
|
|
26273
|
+
measurements: w,
|
|
26274
|
+
distances: T
|
|
26153
26275
|
}
|
|
26154
26276
|
};
|
|
26277
|
+
return f ??= C.find((e) => e.viewport)?.viewport, f && (E.previewViewport = { ...f }), E;
|
|
26155
26278
|
}
|
|
26156
|
-
var
|
|
26157
|
-
function
|
|
26279
|
+
var dO = (e) => `${Math.round(e * 100) / 100}px`, fO = (e) => `x=${dO(e.left)} y=${dO(e.top)} w=${dO(e.width)} h=${dO(e.height)}`;
|
|
26280
|
+
function pO(e) {
|
|
26158
26281
|
let t = [
|
|
26159
26282
|
"Mesurer visual context",
|
|
26160
26283
|
"",
|
|
26161
26284
|
`Page: ${e.page.url}`,
|
|
26162
26285
|
`Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`
|
|
26163
26286
|
];
|
|
26164
|
-
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}: ${
|
|
26287
|
+
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}: ${fO(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) {
|
|
26165
26288
|
t.push("", "Targets");
|
|
26166
26289
|
for (let n of e.targets) {
|
|
26167
26290
|
let e = n.inspection;
|
|
26168
|
-
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${
|
|
26291
|
+
n.viewport && t.push(`Preview: ${n.viewport.url}; ${n.viewport.width} × ${n.viewport.height} CSS px; id=${n.viewport.previewId}`), t.push(`[${n.ref}] ${e.selector}`, ` rect: ${fO(e.rect)}`, ` margin: ${dO(e.margin.top)} ${dO(e.margin.right)} ${dO(e.margin.bottom)} ${dO(e.margin.left)}`, ` padding: ${dO(e.padding.top)} ${dO(e.padding.right)} ${dO(e.padding.bottom)} ${dO(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)}`);
|
|
26169
26292
|
}
|
|
26170
26293
|
}
|
|
26171
26294
|
if (e.visualContext.guides.length) {
|
|
26172
26295
|
t.push("", "Relevant guides");
|
|
26173
|
-
for (let n of e.visualContext.guides) t.push(`- ${n.orientation} ${n.orientation === "vertical" ? "x" : "y"}=${
|
|
26296
|
+
for (let n of e.visualContext.guides) t.push(`- ${n.orientation} ${n.orientation === "vertical" ? "x" : "y"}=${dO(n.position)}`);
|
|
26174
26297
|
}
|
|
26175
26298
|
if (e.visualContext.layoutGuides.length) {
|
|
26176
26299
|
t.push("", "Layout guides");
|
|
26177
26300
|
for (let n of e.visualContext.layoutGuides) {
|
|
26178
26301
|
if (!n.visible) continue;
|
|
26179
|
-
let e = n.kind === "grid" ? `grid ${
|
|
26302
|
+
let e = n.kind === "grid" ? `grid ${dO(n.size)}` : `${n.count} ${n.kind}; gutter=${dO(n.gutter)}; offset=${dO(n.offset)}; align=${n.align}`;
|
|
26180
26303
|
t.push(`- ${e}; color=${n.color}; opacity=${Math.round(n.opacity * 100)}%`);
|
|
26181
26304
|
}
|
|
26182
26305
|
}
|
|
26183
26306
|
if (e.visualContext.measurements.length) {
|
|
26184
26307
|
t.push("", "Relevant measurements");
|
|
26185
|
-
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${
|
|
26308
|
+
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${fO(n.rect)}; delta=${dO(n.deltaX)} × ${dO(n.deltaY)}`);
|
|
26186
26309
|
}
|
|
26187
26310
|
if (e.visualContext.distances.length) {
|
|
26188
26311
|
t.push("", "Relevant distances");
|
|
26189
26312
|
for (let n of e.visualContext.distances) {
|
|
26190
|
-
let e = [n.targetARef, n.targetBRef].filter(Boolean).join(" → "), r = [n.horizontal ? `horizontal=${
|
|
26313
|
+
let e = [n.targetARef, n.targetBRef].filter(Boolean).join(" → "), r = [n.horizontal ? `horizontal=${dO(n.horizontal.value)}` : null, n.vertical ? `vertical=${dO(n.vertical.value)}` : null].filter(Boolean).join("; ");
|
|
26191
26314
|
t.push(`- ${e ? `${e}: ` : ""}${r || "overlapping"}`);
|
|
26192
26315
|
}
|
|
26193
26316
|
}
|
|
26194
26317
|
return t.join("\n").trimEnd();
|
|
26195
26318
|
}
|
|
26196
|
-
function
|
|
26197
|
-
let t =
|
|
26319
|
+
function mO(e) {
|
|
26320
|
+
let t = XD([
|
|
26198
26321
|
...e.regions,
|
|
26199
26322
|
...e.targets.map((e) => e.inspection.rect),
|
|
26200
26323
|
...e.visualContext.measurements.map((e) => e.rect),
|
|
@@ -26216,15 +26339,16 @@ function dO(e) {
|
|
|
26216
26339
|
}
|
|
26217
26340
|
});
|
|
26218
26341
|
}
|
|
26219
|
-
|
|
26342
|
+
let r = {
|
|
26220
26343
|
schema: "mesurer.capture/v1",
|
|
26221
26344
|
contextId: e.id,
|
|
26222
26345
|
chrome: "hide",
|
|
26223
26346
|
evidence: "show",
|
|
26224
26347
|
captures: n
|
|
26225
26348
|
};
|
|
26349
|
+
return e.previewViewport && (r.previewViewport = { ...e.previewViewport }), r;
|
|
26226
26350
|
}
|
|
26227
|
-
var
|
|
26351
|
+
var hO = (e, t, n, r, i) => {
|
|
26228
26352
|
!Number.isFinite(r) || !Number.isFinite(i) || Math.abs(r - i) < .01 || e.push({
|
|
26229
26353
|
kind: t,
|
|
26230
26354
|
label: n,
|
|
@@ -26233,16 +26357,16 @@ var fO = (e, t, n, r, i) => {
|
|
|
26233
26357
|
delta: i - r,
|
|
26234
26358
|
unit: "px"
|
|
26235
26359
|
});
|
|
26236
|
-
},
|
|
26360
|
+
}, gO = (e, t, n, r) => e.push({
|
|
26237
26361
|
kind: "missing",
|
|
26238
26362
|
evidence: t,
|
|
26239
26363
|
id: n,
|
|
26240
26364
|
label: r
|
|
26241
|
-
}),
|
|
26242
|
-
function
|
|
26365
|
+
}), _O = (e, t) => Math.abs(e.left - t.left) < .01 && Math.abs(e.top - t.top) < .01 && Math.abs(e.width - t.width) < .01 && Math.abs(e.height - t.height) < .01;
|
|
26366
|
+
function vO(e) {
|
|
26243
26367
|
let t = e.runtime.annotation(e.annotationId);
|
|
26244
26368
|
if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
|
|
26245
|
-
let n =
|
|
26369
|
+
let n = uO({
|
|
26246
26370
|
runtime: e.runtime,
|
|
26247
26371
|
ownerDocument: e.ownerDocument,
|
|
26248
26372
|
ownerWindow: e.ownerWindow,
|
|
@@ -26252,42 +26376,42 @@ function hO(e) {
|
|
|
26252
26376
|
if (n.scope.kind !== "annotation") throw Error("Mesurer annotation context invariant failed.");
|
|
26253
26377
|
let r = e.runtime.snapshot();
|
|
26254
26378
|
if (!r) throw Error("Mesurer workspace is not ready yet.");
|
|
26255
|
-
let i =
|
|
26379
|
+
let i = QD({
|
|
26256
26380
|
measurements: r.measurements,
|
|
26257
26381
|
activeMeasurement: r.activeMeasurement
|
|
26258
26382
|
}), a = [];
|
|
26259
26383
|
for (let e of t.baseline.targets) {
|
|
26260
26384
|
let t = n.targets.find((t) => t.ref === e.id);
|
|
26261
26385
|
if (!t) {
|
|
26262
|
-
|
|
26386
|
+
gO(a, "target", e.id, e.selector);
|
|
26263
26387
|
continue;
|
|
26264
26388
|
}
|
|
26265
|
-
|
|
26389
|
+
hO(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), hO(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), hO(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), hO(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
|
|
26266
26390
|
}
|
|
26267
26391
|
for (let e of t.baseline.guides) {
|
|
26268
26392
|
let t = n.visualContext.guides.find((t) => t.id === e.id) ?? r.guides.find((t) => t.id === e.id);
|
|
26269
26393
|
if (!t) {
|
|
26270
|
-
|
|
26394
|
+
gO(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
|
|
26271
26395
|
continue;
|
|
26272
26396
|
}
|
|
26273
|
-
|
|
26397
|
+
hO(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
|
|
26274
26398
|
}
|
|
26275
26399
|
for (let e of t.baseline.measurements) {
|
|
26276
26400
|
let r = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
|
|
26277
26401
|
if (!r) {
|
|
26278
|
-
let r = t.baseline.targets.find((t) =>
|
|
26279
|
-
r && n.targets.some((e) => e.ref === r.id) ||
|
|
26402
|
+
let r = t.baseline.targets.find((t) => _O(t.rect, e.rect));
|
|
26403
|
+
r && n.targets.some((e) => e.ref === r.id) || gO(a, "measurement", e.id, e.id);
|
|
26280
26404
|
continue;
|
|
26281
26405
|
}
|
|
26282
|
-
|
|
26406
|
+
hO(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), hO(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
|
|
26283
26407
|
}
|
|
26284
26408
|
for (let e of t.baseline.distances) {
|
|
26285
26409
|
let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
|
|
26286
26410
|
if (!t) {
|
|
26287
|
-
|
|
26411
|
+
gO(a, "distance", e.id, e.id);
|
|
26288
26412
|
continue;
|
|
26289
26413
|
}
|
|
26290
|
-
e.horizontal && t.horizontal ?
|
|
26414
|
+
e.horizontal && t.horizontal ? hO(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && gO(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? hO(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && gO(a, "distance", e.id, `${e.id} vertical`);
|
|
26291
26415
|
}
|
|
26292
26416
|
return {
|
|
26293
26417
|
schema: "mesurer.review/v1",
|
|
@@ -26299,7 +26423,7 @@ function hO(e) {
|
|
|
26299
26423
|
changes: a
|
|
26300
26424
|
};
|
|
26301
26425
|
}
|
|
26302
|
-
async function
|
|
26426
|
+
async function yO(e, t, n) {
|
|
26303
26427
|
try {
|
|
26304
26428
|
if (t.navigator.clipboard?.writeText) {
|
|
26305
26429
|
await t.navigator.clipboard.writeText(n);
|
|
@@ -26313,43 +26437,43 @@ async function gO(e, t, n) {
|
|
|
26313
26437
|
}
|
|
26314
26438
|
//#endregion
|
|
26315
26439
|
//#region src/layout-guides.ts
|
|
26316
|
-
var
|
|
26317
|
-
...
|
|
26318
|
-
version:
|
|
26319
|
-
}),
|
|
26440
|
+
var bO = Rw, xO = zw, SO = () => ({
|
|
26441
|
+
...dT(),
|
|
26442
|
+
version: WD
|
|
26443
|
+
}), CO = "mesurer.context", wO = "context:v1", TO = "mesurer.context.settings", EO = "context.ui", DO = "data-mesurer-direct-text-edit-active", OO = {
|
|
26320
26444
|
viewBox: "0 0 256 256",
|
|
26321
26445
|
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"]
|
|
26322
|
-
},
|
|
26446
|
+
}, kO = {
|
|
26323
26447
|
viewBox: "0 0 256 256",
|
|
26324
26448
|
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"]
|
|
26325
|
-
},
|
|
26449
|
+
}, AO = {
|
|
26326
26450
|
viewBox: "0 0 256 256",
|
|
26327
26451
|
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"]
|
|
26328
|
-
},
|
|
26452
|
+
}, jO = async (e, t, n = 1) => {
|
|
26329
26453
|
await e.fonts?.ready;
|
|
26330
26454
|
for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
|
|
26331
|
-
},
|
|
26332
|
-
let i = async (i) =>
|
|
26455
|
+
}, MO = (e, t, n, r) => {
|
|
26456
|
+
let i = async (i) => uO({
|
|
26333
26457
|
runtime: e,
|
|
26334
26458
|
ownerDocument: t,
|
|
26335
26459
|
ownerWindow: n,
|
|
26336
26460
|
request: i,
|
|
26337
26461
|
layoutGuides: r()
|
|
26338
|
-
}), a = async (e) =>
|
|
26462
|
+
}), a = async (e) => pO(await i(e));
|
|
26339
26463
|
return {
|
|
26340
26464
|
context: i,
|
|
26341
26465
|
contextText: a,
|
|
26342
|
-
copyContext: async (e) =>
|
|
26466
|
+
copyContext: async (e) => yO(t, n, await a(e)),
|
|
26343
26467
|
select: async (r) => {
|
|
26344
26468
|
let a = Array.isArray(r) ? [...r] : [String(r)];
|
|
26345
|
-
return e.select(a), await
|
|
26469
|
+
return e.select(a), await jO(t, n), i({ scope: "selection" });
|
|
26346
26470
|
},
|
|
26347
26471
|
annotations: async () => e.annotations(),
|
|
26348
26472
|
removeAnnotation: async (r) => {
|
|
26349
|
-
e.removeAnnotation(r), await
|
|
26473
|
+
e.removeAnnotation(r), await jO(t, n);
|
|
26350
26474
|
},
|
|
26351
26475
|
review: async (i) => {
|
|
26352
|
-
if (await
|
|
26476
|
+
if (await jO(t, n), i) return vO({
|
|
26353
26477
|
runtime: e,
|
|
26354
26478
|
ownerDocument: t,
|
|
26355
26479
|
ownerWindow: n,
|
|
@@ -26357,7 +26481,7 @@ var _O = Fw, vO = Iw, yO = () => ({
|
|
|
26357
26481
|
layoutGuides: r()
|
|
26358
26482
|
});
|
|
26359
26483
|
let a = r();
|
|
26360
|
-
return e.annotations().map((r) =>
|
|
26484
|
+
return e.annotations().map((r) => vO({
|
|
26361
26485
|
runtime: e,
|
|
26362
26486
|
ownerDocument: t,
|
|
26363
26487
|
ownerWindow: n,
|
|
@@ -26365,76 +26489,67 @@ var _O = Fw, vO = Iw, yO = () => ({
|
|
|
26365
26489
|
layoutGuides: a
|
|
26366
26490
|
}));
|
|
26367
26491
|
},
|
|
26368
|
-
capturePlan: async (e) =>
|
|
26492
|
+
capturePlan: async (e) => mO(await i(e)),
|
|
26369
26493
|
prepareCapture: async () => {
|
|
26370
|
-
e.prepareCapture(), await
|
|
26494
|
+
e.prepareCapture(), await jO(t, n);
|
|
26371
26495
|
},
|
|
26372
26496
|
finishCapture: async () => {
|
|
26373
|
-
e.finishCapture(), await
|
|
26497
|
+
e.finishCapture(), await jO(t, n);
|
|
26374
26498
|
}
|
|
26375
26499
|
};
|
|
26376
|
-
},
|
|
26377
|
-
let
|
|
26378
|
-
return
|
|
26379
|
-
let t = e.ownerDocument;
|
|
26380
|
-
for (; t;) {
|
|
26381
|
-
let e = t.defaultView?.frameElement ?? null;
|
|
26382
|
-
if (!e) return !1;
|
|
26383
|
-
if (e.hasAttribute("data-mesurer-responsive-frame")) return !0;
|
|
26384
|
-
t = e.ownerDocument;
|
|
26385
|
-
}
|
|
26386
|
-
return !1;
|
|
26387
|
-
});
|
|
26500
|
+
}, NO = (e, t) => {
|
|
26501
|
+
let n = e.currentSelection();
|
|
26502
|
+
return n.elements.length > 0 || n.region !== null && !t?.querySelector("[data-mesurer-responsive-stage]");
|
|
26388
26503
|
};
|
|
26389
|
-
function
|
|
26504
|
+
function PO(e = {}) {
|
|
26390
26505
|
return {
|
|
26391
|
-
id:
|
|
26392
|
-
version:
|
|
26506
|
+
id: CO,
|
|
26507
|
+
version: WD,
|
|
26393
26508
|
requires: ["runtime:solid"],
|
|
26394
|
-
provides: [
|
|
26509
|
+
provides: [wO],
|
|
26395
26510
|
setup(t) {
|
|
26396
26511
|
let n = t.service.get("runtime:solid");
|
|
26397
26512
|
if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
|
|
26398
|
-
let r = n.createWorkspaceRuntime(
|
|
26399
|
-
t.service.provide(
|
|
26400
|
-
id:
|
|
26513
|
+
let r = n.createWorkspaceRuntime(CO), i = MO(r, n.ownerDocument, n.ownerWindow, () => t.service.get(xO)?.list() ?? []);
|
|
26514
|
+
t.service.provide(wO, i), t.state.register({
|
|
26515
|
+
id: TO,
|
|
26401
26516
|
initial: { ui: e.ui ?? !0 },
|
|
26402
26517
|
persist: !0
|
|
26403
26518
|
}), t.state.register({
|
|
26404
|
-
id:
|
|
26405
|
-
initial: { hasSelection:
|
|
26519
|
+
id: EO,
|
|
26520
|
+
initial: { hasSelection: NO(r, n.rendererRoot) }
|
|
26406
26521
|
});
|
|
26407
|
-
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () =>
|
|
26408
|
-
t.state.update(
|
|
26522
|
+
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => NO(r, n.rendererRoot), s = (e) => {
|
|
26523
|
+
t.state.update(TO, (t) => ({
|
|
26409
26524
|
...t,
|
|
26410
26525
|
ui: e
|
|
26411
26526
|
}));
|
|
26412
|
-
}, c = null, l = null, u = null, d = null, f = r.currentSelection(),
|
|
26413
|
-
elements: [...
|
|
26414
|
-
region:
|
|
26415
|
-
},
|
|
26416
|
-
let e = r.currentSelection(),
|
|
26417
|
-
|
|
26527
|
+
}, c = null, l = null, u = null, d = null, [f, p] = K(!!n.rendererRoot?.querySelector("[data-mesurer-responsive-stage]")), m = null, h = r.currentSelection(), g = {
|
|
26528
|
+
elements: [...h.elements],
|
|
26529
|
+
region: h.region ? { ...h.region } : null
|
|
26530
|
+
}, _ = (e, t) => e.elements.length !== t.elements.length || e.elements.some((e, n) => e !== t.elements[n]) ? !1 : e.region === t.region ? !0 : !e.region || !t.region ? !1 : e.region.left === t.region.left && e.region.top === t.region.top && e.region.width === t.region.width && e.region.height === t.region.height, v = r.subscribe(() => {
|
|
26531
|
+
let e = r.currentSelection(), i = !_(g, e);
|
|
26532
|
+
g = {
|
|
26418
26533
|
elements: [...e.elements],
|
|
26419
26534
|
region: e.region ? { ...e.region } : null
|
|
26420
|
-
}, r.selectGestureActive() ? c?.abandonNoteComposer() :
|
|
26421
|
-
let
|
|
26422
|
-
|
|
26535
|
+
}, r.selectGestureActive() ? c?.abandonNoteComposer() : i && c?.closeNoteComposer();
|
|
26536
|
+
let a = NO(r, n.rendererRoot);
|
|
26537
|
+
a !== (t.state.get(EO)?.hasSelection ?? !1) && t.state.update(EO, () => ({ hasSelection: a }));
|
|
26423
26538
|
});
|
|
26424
26539
|
t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
|
|
26425
|
-
let
|
|
26540
|
+
let y = () => {
|
|
26426
26541
|
let e = u?.element;
|
|
26427
|
-
e && (n.rendererRoot?.hasAttribute(
|
|
26428
|
-
},
|
|
26542
|
+
e && (n.rendererRoot?.hasAttribute(DO) ? e.setAttribute(DO, "true") : e.removeAttribute(DO));
|
|
26543
|
+
}, b = () => {
|
|
26429
26544
|
d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
|
|
26430
|
-
},
|
|
26545
|
+
}, x = () => {
|
|
26431
26546
|
if (u) return;
|
|
26432
|
-
if (u =
|
|
26433
|
-
let e = new n.ownerWindow.MutationObserver(
|
|
26547
|
+
if (u = mw(n), m = u.element.parentNode, u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
|
|
26548
|
+
let e = new n.ownerWindow.MutationObserver(y);
|
|
26434
26549
|
d = e, e.observe(n.rendererRoot, {
|
|
26435
26550
|
attributes: !0,
|
|
26436
|
-
attributeFilter: [
|
|
26437
|
-
}),
|
|
26551
|
+
attributeFilter: [DO]
|
|
26552
|
+
}), y();
|
|
26438
26553
|
}
|
|
26439
26554
|
let e = {
|
|
26440
26555
|
runtime: r,
|
|
@@ -26442,16 +26557,25 @@ function jO(e = {}) {
|
|
|
26442
26557
|
onController: (e) => {
|
|
26443
26558
|
c = e;
|
|
26444
26559
|
},
|
|
26445
|
-
coordinateSpace
|
|
26560
|
+
get coordinateSpace() {
|
|
26561
|
+
return f() ? "viewport" : "document";
|
|
26562
|
+
},
|
|
26446
26563
|
rendererRoot: n.rendererRoot
|
|
26447
26564
|
};
|
|
26448
|
-
l = No(() => yo(
|
|
26565
|
+
l = No(() => yo(uw, oo(e, { get ownerWindow() {
|
|
26449
26566
|
return n.ownerWindow;
|
|
26450
|
-
} })), u.element);
|
|
26451
|
-
},
|
|
26452
|
-
a() ?
|
|
26567
|
+
} })), u.element), un(f) && n.rendererRoot && (n.rendererRoot.append(u.element), u.element.style.zIndex = "90");
|
|
26568
|
+
}, S = () => {
|
|
26569
|
+
a() ? x() : b();
|
|
26570
|
+
};
|
|
26571
|
+
S(), t.state.subscribe(S);
|
|
26572
|
+
let C = () => {
|
|
26573
|
+
let e = !!n.rendererRoot?.querySelector("[data-mesurer-responsive-stage]");
|
|
26574
|
+
if (e === un(f) || (p(e), !u)) return;
|
|
26575
|
+
let t = e ? n.rendererRoot : m;
|
|
26576
|
+
t && u.element.parentNode !== t && t.appendChild(u.element), u.element.style.zIndex = e ? "90" : "", un(() => c?.closeNoteComposer());
|
|
26453
26577
|
};
|
|
26454
|
-
|
|
26578
|
+
n.ownerWindow.addEventListener("mesurer:responsive-stage-change", C), t.command.register("context.add-note", () => {
|
|
26455
26579
|
o() && c?.openNoteComposer();
|
|
26456
26580
|
}), t.tool.register({
|
|
26457
26581
|
id: "context.copy",
|
|
@@ -26460,7 +26584,7 @@ function jO(e = {}) {
|
|
|
26460
26584
|
command: "context.copy",
|
|
26461
26585
|
order: 70,
|
|
26462
26586
|
toolbarMode: "always",
|
|
26463
|
-
icon:
|
|
26587
|
+
icon: OO,
|
|
26464
26588
|
hidden: () => !a()
|
|
26465
26589
|
}), t.tool.register({
|
|
26466
26590
|
id: "context.copy-selection",
|
|
@@ -26469,7 +26593,7 @@ function jO(e = {}) {
|
|
|
26469
26593
|
command: "context.copy-selection",
|
|
26470
26594
|
order: 71,
|
|
26471
26595
|
toolbarMode: "always",
|
|
26472
|
-
icon:
|
|
26596
|
+
icon: kO,
|
|
26473
26597
|
hidden: () => !a(),
|
|
26474
26598
|
disabled: () => !o()
|
|
26475
26599
|
}), t.tool.register({
|
|
@@ -26479,7 +26603,7 @@ function jO(e = {}) {
|
|
|
26479
26603
|
command: "context.add-note",
|
|
26480
26604
|
order: 72,
|
|
26481
26605
|
toolbarMode: "always",
|
|
26482
|
-
icon:
|
|
26606
|
+
icon: AO,
|
|
26483
26607
|
hidden: () => !a(),
|
|
26484
26608
|
disabled: () => !o()
|
|
26485
26609
|
}), t.settings.register({
|
|
@@ -26495,14 +26619,14 @@ function jO(e = {}) {
|
|
|
26495
26619
|
set: s
|
|
26496
26620
|
}]
|
|
26497
26621
|
}), t.lifecycle.onDispose(() => {
|
|
26498
|
-
|
|
26622
|
+
v(), n.ownerWindow.removeEventListener("mesurer:responsive-stage-change", C), b(), r.dispose();
|
|
26499
26623
|
});
|
|
26500
26624
|
}
|
|
26501
26625
|
};
|
|
26502
26626
|
}
|
|
26503
26627
|
//#endregion
|
|
26504
26628
|
//#region src/host-layer.ts
|
|
26505
|
-
var
|
|
26629
|
+
var FO = {
|
|
26506
26630
|
display: "block",
|
|
26507
26631
|
position: "fixed",
|
|
26508
26632
|
inset: "0",
|
|
@@ -26544,48 +26668,48 @@ var MO = {
|
|
|
26544
26668
|
"letter-spacing": "normal",
|
|
26545
26669
|
direction: "ltr"
|
|
26546
26670
|
};
|
|
26547
|
-
function
|
|
26548
|
-
for (let [t, n] of Object.entries(
|
|
26671
|
+
function IO(e) {
|
|
26672
|
+
for (let [t, n] of Object.entries(FO)) e.style.setProperty(t, n, "important");
|
|
26549
26673
|
}
|
|
26550
|
-
function
|
|
26674
|
+
function LO(e) {
|
|
26551
26675
|
return "popover" in e && "showPopover" in e && typeof e.showPopover == "function" && "hidePopover" in e && typeof e.hidePopover == "function";
|
|
26552
26676
|
}
|
|
26553
|
-
var
|
|
26554
|
-
function
|
|
26555
|
-
if (!
|
|
26677
|
+
var RO = (e) => "newState" in e, zO = (e) => e.localName === "dialog";
|
|
26678
|
+
function BO(e) {
|
|
26679
|
+
if (!zO(e) || !e.open) return !1;
|
|
26556
26680
|
try {
|
|
26557
26681
|
return e.matches(":modal");
|
|
26558
26682
|
} catch {
|
|
26559
26683
|
return !1;
|
|
26560
26684
|
}
|
|
26561
26685
|
}
|
|
26562
|
-
function
|
|
26563
|
-
|
|
26686
|
+
function VO(e, t, n = !0) {
|
|
26687
|
+
IO(e);
|
|
26564
26688
|
let r = e.ownerDocument, i = r.defaultView ?? window, a = t, o = !1, s = "fixed", c = !1, l = 0, u = [];
|
|
26565
|
-
if (n &&
|
|
26689
|
+
if (n && LO(e) && (e.popover = "manual"), t.append(e), n && LO(e)) try {
|
|
26566
26690
|
e.showPopover(), c = e.matches(":popover-open"), c && (s = "top-layer");
|
|
26567
26691
|
} catch {
|
|
26568
26692
|
e.removeAttribute("popover");
|
|
26569
26693
|
}
|
|
26570
26694
|
let d = () => {
|
|
26571
|
-
if (!(!c || !
|
|
26695
|
+
if (!(!c || !LO(e))) try {
|
|
26572
26696
|
e.matches(":popover-open") || e.showPopover();
|
|
26573
26697
|
} catch {}
|
|
26574
26698
|
}, f = (t) => {
|
|
26575
26699
|
if (e.parentNode === t) return;
|
|
26576
|
-
let n = c &&
|
|
26577
|
-
if (n &&
|
|
26700
|
+
let n = c && LO(e) && e.matches(":popover-open");
|
|
26701
|
+
if (n && LO(e)) try {
|
|
26578
26702
|
e.hidePopover();
|
|
26579
26703
|
} catch {}
|
|
26580
|
-
t.append(e),
|
|
26704
|
+
t.append(e), IO(e), n && d();
|
|
26581
26705
|
}, p = () => {
|
|
26582
|
-
u = u.filter((e) => e.isConnected &&
|
|
26706
|
+
u = u.filter((e) => e.isConnected && BO(e)), f(u.at(-1) ?? a);
|
|
26583
26707
|
}, m = (e) => {
|
|
26584
26708
|
u = u.filter((t) => t !== e), u.push(e), p();
|
|
26585
26709
|
}, h = (e) => {
|
|
26586
26710
|
u = u.filter((t) => t !== e), p();
|
|
26587
26711
|
}, g = () => {
|
|
26588
|
-
if (!(o || !c || !
|
|
26712
|
+
if (!(o || !c || !LO(e))) try {
|
|
26589
26713
|
e.matches(":popover-open") && e.hidePopover(), e.showPopover();
|
|
26590
26714
|
} catch {}
|
|
26591
26715
|
}, _ = () => {
|
|
@@ -26594,27 +26718,27 @@ function RO(e, t, n = !0) {
|
|
|
26594
26718
|
}));
|
|
26595
26719
|
}, v = (t) => {
|
|
26596
26720
|
if (!c || t.target === e) return;
|
|
26597
|
-
let n =
|
|
26721
|
+
let n = RO(t) ? t.newState : void 0, r = t.target;
|
|
26598
26722
|
if (r instanceof i.Element) {
|
|
26599
|
-
if (
|
|
26600
|
-
n === "open" &&
|
|
26723
|
+
if (zO(r)) {
|
|
26724
|
+
n === "open" && BO(r) ? (m(r), _()) : n === "closed" ? h(r) : n === "open" && _();
|
|
26601
26725
|
return;
|
|
26602
26726
|
}
|
|
26603
26727
|
n === "open" && r.hasAttribute("popover") && _();
|
|
26604
26728
|
}
|
|
26605
26729
|
}, y = (e) => {
|
|
26606
26730
|
let t = e.target;
|
|
26607
|
-
t instanceof i.Element &&
|
|
26731
|
+
t instanceof i.Element && zO(t) && h(t);
|
|
26608
26732
|
}, b = () => {
|
|
26609
26733
|
r.fullscreenElement && _();
|
|
26610
26734
|
}, x = (e) => {
|
|
26611
|
-
|
|
26612
|
-
for (let t of e.querySelectorAll("dialog"))
|
|
26735
|
+
BO(e) && m(e);
|
|
26736
|
+
for (let t of e.querySelectorAll("dialog")) BO(t) && m(t);
|
|
26613
26737
|
}, S = new i.MutationObserver((e) => {
|
|
26614
26738
|
if (c) for (let t of e) {
|
|
26615
26739
|
if (t.type === "attributes") {
|
|
26616
26740
|
let e = t.target;
|
|
26617
|
-
e instanceof i.Element &&
|
|
26741
|
+
e instanceof i.Element && zO(e) && (BO(e) ? m(e) : h(e));
|
|
26618
26742
|
}
|
|
26619
26743
|
for (let e of t.addedNodes) e instanceof i.Element && x(e);
|
|
26620
26744
|
u.some((e) => !e.isConnected) && p();
|
|
@@ -26630,7 +26754,7 @@ function RO(e, t, n = !0) {
|
|
|
26630
26754
|
bringToFront: g,
|
|
26631
26755
|
dispose() {
|
|
26632
26756
|
if (!o) {
|
|
26633
|
-
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 &&
|
|
26757
|
+
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 && LO(e) && e.matches(":popover-open")) try {
|
|
26634
26758
|
e.hidePopover();
|
|
26635
26759
|
} catch {}
|
|
26636
26760
|
u = [];
|
|
@@ -26640,7 +26764,7 @@ function RO(e, t, n = !0) {
|
|
|
26640
26764
|
}
|
|
26641
26765
|
//#endregion
|
|
26642
26766
|
//#region src/plugins/codex/index.ts
|
|
26643
|
-
var
|
|
26767
|
+
var HO = "mesurer.codex", UO = "codex:v1", WO = "mesurer.plugin.before-disable", GO = 2e3, KO = 750, qO = 2e3, JO = 1800, YO = 2e3, XO = 12e4, ZO = 10, QO = 5, $O = "http://127.0.0.1:47365", ek = "mesurer-codex", tk = 2, nk = [
|
|
26644
26768
|
"thread-discovery-v1",
|
|
26645
26769
|
"durable-queue-v1",
|
|
26646
26770
|
"history-recovery-v2",
|
|
@@ -26648,33 +26772,33 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26648
26772
|
"idle-safe-shutdown-v1",
|
|
26649
26773
|
"nonterminal-retention-v1",
|
|
26650
26774
|
"instance-binding-v1"
|
|
26651
|
-
],
|
|
26775
|
+
], rk = 1500, ik = 15e3, ak = 5e3, ok = [
|
|
26652
26776
|
"Implement the current human feedback from Mesurer in this project.",
|
|
26653
26777
|
"Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
|
|
26654
26778
|
"and verify the affected UI in the live page with Mesurer before claiming completion."
|
|
26655
|
-
].join(" "),
|
|
26779
|
+
].join(" "), sk = {
|
|
26656
26780
|
viewBox: "0 0 256 256",
|
|
26657
26781
|
paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
|
|
26658
|
-
},
|
|
26782
|
+
}, ck = {
|
|
26659
26783
|
viewBox: "0 0 256 256",
|
|
26660
26784
|
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"]
|
|
26661
|
-
},
|
|
26785
|
+
}, lk = {
|
|
26662
26786
|
viewBox: "0 0 256 256",
|
|
26663
26787
|
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"]
|
|
26664
|
-
},
|
|
26788
|
+
}, uk = class extends Error {
|
|
26665
26789
|
issue;
|
|
26666
26790
|
constructor(e, t) {
|
|
26667
26791
|
super(t), this.issue = e, this.name = "BrowserBridgeConnectionError";
|
|
26668
26792
|
}
|
|
26669
|
-
},
|
|
26793
|
+
}, dk = () => {
|
|
26670
26794
|
try {
|
|
26671
26795
|
let e = globalThis.location;
|
|
26672
26796
|
return e?.origin ? `mesurer-codex-ui:v2:${e.origin}${e.pathname}` : null;
|
|
26673
26797
|
} catch {
|
|
26674
26798
|
return null;
|
|
26675
26799
|
}
|
|
26676
|
-
},
|
|
26677
|
-
let e =
|
|
26800
|
+
}, fk = () => {
|
|
26801
|
+
let e = dk();
|
|
26678
26802
|
if (!e) return null;
|
|
26679
26803
|
try {
|
|
26680
26804
|
let t = globalThis.sessionStorage?.getItem(e);
|
|
@@ -26700,35 +26824,35 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26700
26824
|
} catch {
|
|
26701
26825
|
return null;
|
|
26702
26826
|
}
|
|
26703
|
-
},
|
|
26704
|
-
let t =
|
|
26827
|
+
}, pk = (e) => {
|
|
26828
|
+
let t = dk();
|
|
26705
26829
|
if (t) try {
|
|
26706
26830
|
globalThis.sessionStorage?.setItem(t, JSON.stringify(e));
|
|
26707
26831
|
} catch {}
|
|
26708
|
-
},
|
|
26709
|
-
let t =
|
|
26832
|
+
}, mk = (e) => {
|
|
26833
|
+
let t = $O.endsWith("/") ? $O : `${$O}/`;
|
|
26710
26834
|
return new URL(e, t).toString();
|
|
26711
|
-
},
|
|
26835
|
+
}, hk = (e) => {
|
|
26712
26836
|
let t = e.bridge;
|
|
26713
|
-
if (!t) throw new
|
|
26714
|
-
if (t.name !==
|
|
26715
|
-
if (t.protocol !==
|
|
26716
|
-
if (e.access?.allowed === !1) throw new
|
|
26717
|
-
let n = new Set(Array.isArray(t.capabilities) ? t.capabilities : []), r =
|
|
26718
|
-
if (r.length > 0) throw new
|
|
26719
|
-
if (!t.instanceId?.trim()) throw new
|
|
26720
|
-
},
|
|
26837
|
+
if (!t) throw new uk("port-conflict", "Another local service or an outdated Mesurer Codex Bridge is using port 47365. Mesurer will not send data to an unverified service.");
|
|
26838
|
+
if (t.name !== ek) throw new uk("port-conflict", `Another local service is using port 47365 (${t.name ?? "unknown"}). Mesurer will not send Codex data to it.`);
|
|
26839
|
+
if (t.protocol !== tk) throw new uk("version-mismatch", `Mesurer Codex Bridge is out of date (protocol ${t.protocol ?? "unknown"}; expected ${tk}). Restart the matching Mesurer Codex Bridge helper.`);
|
|
26840
|
+
if (e.access?.allowed === !1) throw new uk("origin-denied", `Mesurer Codex Bridge does not allow this browser origin (${globalThis.location?.origin ?? "this page"}). Allow this origin when starting the bridge.`);
|
|
26841
|
+
let n = new Set(Array.isArray(t.capabilities) ? t.capabilities : []), r = nk.filter((e) => !n.has(e));
|
|
26842
|
+
if (r.length > 0) throw new uk("capability-mismatch", `Mesurer Codex Bridge is missing required capabilities: ${r.join(", ")}. Restart or update the matching helper.`);
|
|
26843
|
+
if (!t.instanceId?.trim()) throw new uk("capability-mismatch", "Mesurer Codex Bridge did not provide an instance identity. Restart or update the matching helper.");
|
|
26844
|
+
}, gk = (e) => e.includes("does not allow this browser origin") ? "origin-denied" : e.includes("out of date") ? "version-mismatch" : e.includes("missing required capabilities") || e.includes("did not provide an instance identity") ? "capability-mismatch" : e.includes("Another local service") ? "port-conflict" : e.includes("instance changed") ? "instance-changed" : e.includes("timed out") ? "timed-out" : e.includes("companion is unavailable") ? "not-running" : null, _k = (e) => e instanceof uk ? e.issue : e instanceof Error ? gk(e.message) : null, vk = async (e) => {
|
|
26721
26845
|
let t, n;
|
|
26722
|
-
if (e.action === "health") t =
|
|
26846
|
+
if (e.action === "health") t = mk("health");
|
|
26723
26847
|
else if (e.action === "threads") {
|
|
26724
26848
|
let n = new URLSearchParams();
|
|
26725
|
-
n.set("limit", String(e.limit ??
|
|
26726
|
-
} else if (e.action === "target") t =
|
|
26849
|
+
n.set("limit", String(e.limit ?? ZO)), e.thread && n.set("thread", e.thread), t = `${mk("threads")}?${n.toString()}`;
|
|
26850
|
+
} else if (e.action === "target") t = mk("target"), n = {
|
|
26727
26851
|
method: "POST",
|
|
26728
26852
|
headers: { "Content-Type": "application/json" },
|
|
26729
26853
|
body: JSON.stringify({ thread: e.thread })
|
|
26730
26854
|
};
|
|
26731
|
-
else if (e.action === "queue") t =
|
|
26855
|
+
else if (e.action === "queue") t = mk("send"), n = {
|
|
26732
26856
|
method: "POST",
|
|
26733
26857
|
headers: { "Content-Type": "application/json" },
|
|
26734
26858
|
body: JSON.stringify({
|
|
@@ -26736,8 +26860,8 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26736
26860
|
thread: e.thread
|
|
26737
26861
|
})
|
|
26738
26862
|
};
|
|
26739
|
-
else if (e.action === "delivery") t =
|
|
26740
|
-
else if (e.action === "restore") t =
|
|
26863
|
+
else if (e.action === "delivery") t = mk(`deliveries/${encodeURIComponent(String(e.deliveryId ?? ""))}`);
|
|
26864
|
+
else if (e.action === "restore") t = mk("deliveries/restore"), n = {
|
|
26741
26865
|
method: "POST",
|
|
26742
26866
|
headers: { "Content-Type": "application/json" },
|
|
26743
26867
|
body: JSON.stringify({
|
|
@@ -26751,14 +26875,14 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26751
26875
|
else throw Error(`Codex browser companion does not support ${e.action}.`);
|
|
26752
26876
|
if (e.action !== "health") {
|
|
26753
26877
|
let t = e.bridgeInstanceId?.trim();
|
|
26754
|
-
if (!t) throw new
|
|
26878
|
+
if (!t) throw new uk("instance-changed", "Mesurer Codex Bridge instance changed before this request could be verified.");
|
|
26755
26879
|
let r = new Headers(n?.headers);
|
|
26756
26880
|
r.set("X-Mesurer-Bridge-Instance", t), n = {
|
|
26757
26881
|
...n,
|
|
26758
26882
|
headers: r
|
|
26759
26883
|
};
|
|
26760
26884
|
}
|
|
26761
|
-
let r = new AbortController(), i = e.action === "health" || e.action === "threads" ?
|
|
26885
|
+
let r = new AbortController(), i = e.action === "health" || e.action === "threads" ? rk : ik, a = globalThis.setTimeout(() => r.abort(), i);
|
|
26762
26886
|
try {
|
|
26763
26887
|
let i = await fetch(t, {
|
|
26764
26888
|
...n,
|
|
@@ -26769,23 +26893,23 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26769
26893
|
} catch {
|
|
26770
26894
|
o = { error: a };
|
|
26771
26895
|
}
|
|
26772
|
-
if (e.action === "health" &&
|
|
26773
|
-
let e = o.error ?? `Mesurer Codex companion returned HTTP ${i.status}.`, t =
|
|
26774
|
-
throw t ? new
|
|
26896
|
+
if (e.action === "health" && hk(o), !i.ok || o.ok === !1) {
|
|
26897
|
+
let e = o.error ?? `Mesurer Codex companion returned HTTP ${i.status}.`, t = gk(e);
|
|
26898
|
+
throw t ? new uk(t, e) : Error(e);
|
|
26775
26899
|
}
|
|
26776
26900
|
return o;
|
|
26777
26901
|
} catch (e) {
|
|
26778
|
-
throw e instanceof Error && e.name === "AbortError" ? new
|
|
26902
|
+
throw e instanceof Error && e.name === "AbortError" ? new uk("timed-out", "Mesurer Codex companion timed out.") : e instanceof TypeError ? new uk("not-running", `Mesurer Codex companion is unavailable at ${$O}.`) : e;
|
|
26779
26903
|
} finally {
|
|
26780
26904
|
globalThis.clearTimeout(a);
|
|
26781
26905
|
}
|
|
26782
|
-
},
|
|
26906
|
+
}, yk = async (e) => {
|
|
26783
26907
|
let t = window.__MESURER_HOST__?.codexBridge;
|
|
26784
26908
|
if (!t) throw Error("Codex native host bridge is unavailable.");
|
|
26785
26909
|
let n = await t(e);
|
|
26786
26910
|
if (n.ok === !1) throw Error(n.error ?? "Codex Bridge request failed.");
|
|
26787
26911
|
return n;
|
|
26788
|
-
},
|
|
26912
|
+
}, bk = (e) => {
|
|
26789
26913
|
let t = e.runtime;
|
|
26790
26914
|
return !t || ![
|
|
26791
26915
|
"shared",
|
|
@@ -26803,10 +26927,10 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26803
26927
|
available: t.available === !0,
|
|
26804
26928
|
reason: t.reason
|
|
26805
26929
|
};
|
|
26806
|
-
},
|
|
26930
|
+
}, xk = (e) => ({
|
|
26807
26931
|
thread: e.thread?.trim() || null,
|
|
26808
26932
|
threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
|
|
26809
|
-
}),
|
|
26933
|
+
}), Sk = (e) => {
|
|
26810
26934
|
let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
|
|
26811
26935
|
if (!t || !n || !r) throw Error("Codex Bridge returned an invalid delivery state.");
|
|
26812
26936
|
let i = {
|
|
@@ -26818,7 +26942,7 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26818
26942
|
updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
|
|
26819
26943
|
};
|
|
26820
26944
|
return e.queuedSubmissionId !== void 0 && (i.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.clientUserMessageId !== void 0 && (i.clientUserMessageId = e.clientUserMessageId?.trim() || null), e.dispatch !== void 0 && (i.dispatch = e.dispatch), e.dispatchError !== void 0 && (i.dispatchError = e.dispatchError?.trim() || null), i;
|
|
26821
|
-
},
|
|
26945
|
+
}, Ck = (e) => ({
|
|
26822
26946
|
thread: e.thread?.trim() || null,
|
|
26823
26947
|
threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
|
|
26824
26948
|
let t = e.id?.trim() ?? "";
|
|
@@ -26830,7 +26954,7 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26830
26954
|
}] : [];
|
|
26831
26955
|
}) : [],
|
|
26832
26956
|
hasMore: e.hasMore === !0
|
|
26833
|
-
}),
|
|
26957
|
+
}), wk = async (e, t, n) => {
|
|
26834
26958
|
let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
|
|
26835
26959
|
let t = i.find((t) => t.id === e);
|
|
26836
26960
|
return t ? [t] : [];
|
|
@@ -26853,18 +26977,18 @@ var zO = "mesurer.codex", BO = "codex:v1", VO = "mesurer.plugin.before-disable",
|
|
|
26853
26977
|
])
|
|
26854
26978
|
].join("\n").trimEnd()
|
|
26855
26979
|
};
|
|
26856
|
-
},
|
|
26857
|
-
function
|
|
26858
|
-
let t = e.instruction?.trim() ||
|
|
26980
|
+
}, Tk = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, Ek = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Dk = (e) => _k(e) !== null || e instanceof Error && (e.message === "Codex Bridge is unavailable in this host." || e.message.includes("Codex Bridge lease") || e.message.includes("Mesurer Codex Bridge"));
|
|
26981
|
+
function Ok(e = {}) {
|
|
26982
|
+
let t = e.instruction?.trim() || ok, n = e.ui ?? !0, r = e.clearCompletedAnnotations ?? !0;
|
|
26859
26983
|
return {
|
|
26860
|
-
id:
|
|
26861
|
-
version:
|
|
26862
|
-
requires: [
|
|
26863
|
-
provides: [
|
|
26984
|
+
id: HO,
|
|
26985
|
+
version: WD,
|
|
26986
|
+
requires: [wO],
|
|
26987
|
+
provides: [UO],
|
|
26864
26988
|
async setup(e) {
|
|
26865
|
-
let i = e.service.get(
|
|
26989
|
+
let i = e.service.get(wO);
|
|
26866
26990
|
if (!i) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
|
|
26867
|
-
let a = n ?
|
|
26991
|
+
let a = n ? fk() : null, o = "unknown", s = null, c = !1, l = a?.originThread ?? null, u = a?.selectedThread ?? a?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = QO, _, v = "", y = null, b = a?.delivery ? {
|
|
26868
26992
|
id: a.delivery.id,
|
|
26869
26993
|
thread: a.delivery.thread,
|
|
26870
26994
|
status: a.delivery.status,
|
|
@@ -26877,22 +27001,22 @@ function Tk(e = {}) {
|
|
|
26877
27001
|
if (!k) try {
|
|
26878
27002
|
let t = e.action === "queue" || e.action === "target" || e.action === "delivery" || e.action === "restore";
|
|
26879
27003
|
if (e.action === "health") {
|
|
26880
|
-
let t = await
|
|
27004
|
+
let t = await vk(e);
|
|
26881
27005
|
return D = t.bridge?.instanceId?.trim() || null, E = Date.now(), t;
|
|
26882
27006
|
}
|
|
26883
|
-
return (!D || t || Date.now() - E >=
|
|
27007
|
+
return (!D || t || Date.now() - E >= ak) && (D = (await vk({
|
|
26884
27008
|
action: "health",
|
|
26885
27009
|
thread: u ?? l ?? void 0
|
|
26886
|
-
})).bridge?.instanceId?.trim() || null, E = Date.now()), await
|
|
27010
|
+
})).bridge?.instanceId?.trim() || null, E = Date.now()), await vk({
|
|
26887
27011
|
...e,
|
|
26888
27012
|
bridgeInstanceId: D ?? void 0
|
|
26889
27013
|
});
|
|
26890
27014
|
} catch (e) {
|
|
26891
27015
|
throw E = 0, D = null, e;
|
|
26892
27016
|
}
|
|
26893
|
-
if (e.action === "activate" || e.action === "runtime") return
|
|
27017
|
+
if (e.action === "activate" || e.action === "runtime") return yk(e);
|
|
26894
27018
|
if (!T) throw Error("Codex Bridge lease is not active for this plugin.");
|
|
26895
|
-
return
|
|
27019
|
+
return yk({
|
|
26896
27020
|
...e,
|
|
26897
27021
|
leaseId: T
|
|
26898
27022
|
});
|
|
@@ -26900,7 +27024,7 @@ function Tk(e = {}) {
|
|
|
26900
27024
|
if (!k) return;
|
|
26901
27025
|
let e = T;
|
|
26902
27026
|
if (e) {
|
|
26903
|
-
if ((await
|
|
27027
|
+
if ((await yk({
|
|
26904
27028
|
action: "deactivate",
|
|
26905
27029
|
leaseId: e
|
|
26906
27030
|
})).released !== !0) throw Error("Codex Bridge did not confirm lease release.");
|
|
@@ -26908,13 +27032,13 @@ function Tk(e = {}) {
|
|
|
26908
27032
|
}
|
|
26909
27033
|
};
|
|
26910
27034
|
if (k) {
|
|
26911
|
-
let e = await
|
|
27035
|
+
let e = await yk({
|
|
26912
27036
|
action: "activate",
|
|
26913
27037
|
thread: u ?? l ?? void 0
|
|
26914
27038
|
}), t = e.leaseId?.trim();
|
|
26915
27039
|
if (!t) throw Error("Codex Bridge did not return an activation lease.");
|
|
26916
|
-
T = t, o = "available", s =
|
|
26917
|
-
let n =
|
|
27040
|
+
T = t, o = "available", s = bk(e);
|
|
27041
|
+
let n = xk(e);
|
|
26918
27042
|
c = !0, f = n.thread, p = n.threads;
|
|
26919
27043
|
}
|
|
26920
27044
|
e.lifecycle.onDispose(() => {
|
|
@@ -26922,12 +27046,12 @@ function Tk(e = {}) {
|
|
|
26922
27046
|
let t = e instanceof Error ? e.message : String(e);
|
|
26923
27047
|
console.error(`[Mesurer] Failed to release Codex host lease: ${t}`);
|
|
26924
27048
|
});
|
|
26925
|
-
}), e.hook.on(
|
|
27049
|
+
}), e.hook.on(WO, async (e) => {
|
|
26926
27050
|
e === "mesurer.codex" && await j();
|
|
26927
27051
|
});
|
|
26928
27052
|
let M = async () => {
|
|
26929
27053
|
if (!k) return null;
|
|
26930
|
-
let e =
|
|
27054
|
+
let e = bk(await A({ action: "runtime" }));
|
|
26931
27055
|
if (!e) throw Error("Codex Bridge returned an invalid runtime state.");
|
|
26932
27056
|
return s = e, e;
|
|
26933
27057
|
}, N = async () => {
|
|
@@ -26935,8 +27059,8 @@ function Tk(e = {}) {
|
|
|
26935
27059
|
action: "health",
|
|
26936
27060
|
thread: u ?? l ?? void 0
|
|
26937
27061
|
});
|
|
26938
|
-
return s =
|
|
26939
|
-
}, P = N, F = async (e) =>
|
|
27062
|
+
return s = bk(e) ?? s, xk(e);
|
|
27063
|
+
}, P = N, F = async (e) => Sk(await A({
|
|
26940
27064
|
action: "delivery",
|
|
26941
27065
|
deliveryId: e
|
|
26942
27066
|
})), I = async (e) => {
|
|
@@ -26948,17 +27072,17 @@ function Tk(e = {}) {
|
|
|
26948
27072
|
};
|
|
26949
27073
|
if (e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), e.clientUserMessageId) n.clientUserMessageId = e.clientUserMessageId;
|
|
26950
27074
|
else if (e.annotationIds.length > 0) {
|
|
26951
|
-
let r = await
|
|
27075
|
+
let r = await wk(i, { annotationIds: e.annotationIds }, t);
|
|
26952
27076
|
if (!(r.annotationIds.length === e.annotationIds.length && r.annotationIds.every((t, n) => t === e.annotationIds[n]))) throw Error("Cannot safely restore this Codex delivery because one or more saved Mesurer annotations are unavailable.");
|
|
26953
27077
|
n.message = r.message;
|
|
26954
27078
|
}
|
|
26955
|
-
return
|
|
27079
|
+
return Sk(await A(n));
|
|
26956
27080
|
}, L = async (e = {}) => {
|
|
26957
27081
|
let t = {
|
|
26958
27082
|
action: "threads",
|
|
26959
|
-
limit: e.limit ??
|
|
27083
|
+
limit: e.limit ?? ZO
|
|
26960
27084
|
}, n = e.thread?.trim();
|
|
26961
|
-
return n && (t.thread = n),
|
|
27085
|
+
return n && (t.thread = n), Ck(await A(t));
|
|
26962
27086
|
}, R = () => u ?? l ?? (d ? null : f), z = () => {
|
|
26963
27087
|
if (!n) return;
|
|
26964
27088
|
let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "completed" || b.status === "interrupted" || b.status === "failed") ? {
|
|
@@ -26971,7 +27095,7 @@ function Tk(e = {}) {
|
|
|
26971
27095
|
dispatch: b.dispatch,
|
|
26972
27096
|
dispatchError: b.dispatchError
|
|
26973
27097
|
} : null;
|
|
26974
|
-
|
|
27098
|
+
pk({
|
|
26975
27099
|
version: 1,
|
|
26976
27100
|
originThread: l,
|
|
26977
27101
|
selectedThread: u,
|
|
@@ -26989,12 +27113,12 @@ function Tk(e = {}) {
|
|
|
26989
27113
|
"queueing",
|
|
26990
27114
|
"queued",
|
|
26991
27115
|
"working"
|
|
26992
|
-
].includes(b.status) ?
|
|
27116
|
+
].includes(b.status) ? ck : b.status === "completed" ? lk : sk : sk, W = () => {
|
|
26993
27117
|
let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
|
|
26994
27118
|
t.has(n.id) || (t.add(n.id), e.push(n));
|
|
26995
27119
|
}, r = (e) => ({
|
|
26996
27120
|
id: e,
|
|
26997
|
-
title: `Codex ${
|
|
27121
|
+
title: `Codex ${Tk(e)}`,
|
|
26998
27122
|
updatedAt: null,
|
|
26999
27123
|
connected: !0
|
|
27000
27124
|
});
|
|
@@ -27032,22 +27156,22 @@ function Tk(e = {}) {
|
|
|
27032
27156
|
let t = e.id === l ? "Current · " : e.connected ? "Loaded · " : "", r = b?.thread === e.id ? ` · ${ee(b.status)}` : "";
|
|
27033
27157
|
return {
|
|
27034
27158
|
id: `codex.thread.${e.id}`,
|
|
27035
|
-
label: `${t}${
|
|
27159
|
+
label: `${t}${Ek(e.title)}${r}`,
|
|
27036
27160
|
checked: () => n === e.id,
|
|
27037
27161
|
disabled: () => V(),
|
|
27038
27162
|
run() {
|
|
27039
27163
|
V() || (B(e.id, !l), G());
|
|
27040
27164
|
}
|
|
27041
27165
|
};
|
|
27042
|
-
})), g <
|
|
27166
|
+
})), g < ZO && (e.length > g || h) && r.push({
|
|
27043
27167
|
id: "codex.thread.show-more",
|
|
27044
27168
|
label: "Show 5 more…",
|
|
27045
27169
|
run() {
|
|
27046
|
-
g =
|
|
27170
|
+
g = ZO, G();
|
|
27047
27171
|
}
|
|
27048
27172
|
}), b?.queuedSubmissionId && b.status === "queued" && (b.dispatch === "desktop-opened" || b.dispatch === "desktop-wake-failed") && r.push({
|
|
27049
27173
|
id: "codex.delivery.receipt",
|
|
27050
|
-
label: `Receipt · ${
|
|
27174
|
+
label: `Receipt · ${Tk(b.queuedSubmissionId)}`,
|
|
27051
27175
|
disabled: () => !0,
|
|
27052
27176
|
run: () => void 0
|
|
27053
27177
|
}), r;
|
|
@@ -27084,7 +27208,7 @@ function Tk(e = {}) {
|
|
|
27084
27208
|
}, ae = async (e) => {
|
|
27085
27209
|
if (o !== "available") return;
|
|
27086
27210
|
let t = await L({
|
|
27087
|
-
limit:
|
|
27211
|
+
limit: ZO,
|
|
27088
27212
|
thread: e ?? void 0
|
|
27089
27213
|
});
|
|
27090
27214
|
m = t.threads, h = t.hasMore, p = t.threads.filter((e) => e.connected).map((e) => e.id), f = t.thread;
|
|
@@ -27096,7 +27220,7 @@ function Tk(e = {}) {
|
|
|
27096
27220
|
let t = u ?? l;
|
|
27097
27221
|
t && p.includes(t) ? d = !1 : p.length === 1 ? B(p[0], !0) : d = !0, !d && t && z();
|
|
27098
27222
|
} catch (e) {
|
|
27099
|
-
throw o = "unavailable", O = k ? null :
|
|
27223
|
+
throw o = "unavailable", O = k ? null : _k(e) ?? "unavailable", s = await M().catch(() => s), e;
|
|
27100
27224
|
} finally {
|
|
27101
27225
|
y = null, G();
|
|
27102
27226
|
}
|
|
@@ -27106,7 +27230,7 @@ function Tk(e = {}) {
|
|
|
27106
27230
|
}, se = () => {
|
|
27107
27231
|
S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
|
|
27108
27232
|
S = 0, b?.status === "completed" && (b = null, z(), G());
|
|
27109
|
-
},
|
|
27233
|
+
}, JO);
|
|
27110
27234
|
}, ce = async (e) => {
|
|
27111
27235
|
if (!(!b || b.id !== e.id)) {
|
|
27112
27236
|
if (b = {
|
|
@@ -27135,7 +27259,7 @@ function Tk(e = {}) {
|
|
|
27135
27259
|
if (t || n.length > 0) {
|
|
27136
27260
|
z(), G(), x = globalThis.setTimeout(() => {
|
|
27137
27261
|
x = 0, le(e.id);
|
|
27138
|
-
},
|
|
27262
|
+
}, KO);
|
|
27139
27263
|
return;
|
|
27140
27264
|
}
|
|
27141
27265
|
}
|
|
@@ -27145,14 +27269,14 @@ function Tk(e = {}) {
|
|
|
27145
27269
|
if (e.status === "interrupted") {
|
|
27146
27270
|
z(), G();
|
|
27147
27271
|
let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
|
|
27148
|
-
Date.now() - t <
|
|
27272
|
+
Date.now() - t < XO && (x = globalThis.setTimeout(() => {
|
|
27149
27273
|
x = 0, le(e.id);
|
|
27150
|
-
},
|
|
27274
|
+
}, YO));
|
|
27151
27275
|
return;
|
|
27152
27276
|
}
|
|
27153
27277
|
G(), x = globalThis.setTimeout(() => {
|
|
27154
27278
|
x = 0, le(e.id);
|
|
27155
|
-
},
|
|
27279
|
+
}, qO);
|
|
27156
27280
|
}
|
|
27157
27281
|
}, le = async (e) => {
|
|
27158
27282
|
if (!(w || b?.id !== e)) try {
|
|
@@ -27176,7 +27300,7 @@ function Tk(e = {}) {
|
|
|
27176
27300
|
b = {
|
|
27177
27301
|
...b,
|
|
27178
27302
|
status: "failed"
|
|
27179
|
-
}, z(),
|
|
27303
|
+
}, z(), Dk(n) && (o = "unavailable"), G();
|
|
27180
27304
|
}
|
|
27181
27305
|
}, ue = {
|
|
27182
27306
|
health: N,
|
|
@@ -27188,11 +27312,11 @@ function Tk(e = {}) {
|
|
|
27188
27312
|
let n = await A({
|
|
27189
27313
|
action: "target",
|
|
27190
27314
|
thread: t
|
|
27191
|
-
}), r =
|
|
27192
|
-
return s =
|
|
27315
|
+
}), r = xk(n);
|
|
27316
|
+
return s = bk(n) ?? s, B(t, !l), f = r.thread, p = r.threads, o = "available", c = !0, G(), r;
|
|
27193
27317
|
},
|
|
27194
27318
|
async queue(e) {
|
|
27195
|
-
let r = await
|
|
27319
|
+
let r = await wk(i, e, t), a = e?.thread?.trim(), s = a || (n ? R() : null);
|
|
27196
27320
|
if (n && !a && (d || !s)) throw Error("Choose a Codex thread before queueing feedback.");
|
|
27197
27321
|
let c = { message: r.message };
|
|
27198
27322
|
s && (c.thread = s);
|
|
@@ -27212,14 +27336,14 @@ function Tk(e = {}) {
|
|
|
27212
27336
|
};
|
|
27213
27337
|
return e.queuedSubmissionId !== void 0 && (n.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.clientUserMessageId !== void 0 && (n.clientUserMessageId = e.clientUserMessageId?.trim() || null), e.dispatch !== void 0 && (n.dispatch = e.dispatch), e.dispatchError !== void 0 && (n.dispatchError = e.dispatchError?.trim() || null), n;
|
|
27214
27338
|
} catch (e) {
|
|
27215
|
-
throw n &&
|
|
27339
|
+
throw n && Dk(e) && (o = "unavailable", O = k ? null : _k(e) ?? "unavailable", G()), e;
|
|
27216
27340
|
}
|
|
27217
27341
|
},
|
|
27218
27342
|
send(e) {
|
|
27219
27343
|
return ue.queue(e);
|
|
27220
27344
|
}
|
|
27221
27345
|
};
|
|
27222
|
-
e.service.provide(
|
|
27346
|
+
e.service.provide(UO, ue);
|
|
27223
27347
|
let de = async () => {
|
|
27224
27348
|
if (!(C || V())) {
|
|
27225
27349
|
if (b?.status === "failed" && b.id) {
|
|
@@ -27257,9 +27381,9 @@ function Tk(e = {}) {
|
|
|
27257
27381
|
updatedAt: 0
|
|
27258
27382
|
}) : x = globalThis.setTimeout(() => {
|
|
27259
27383
|
x = 0, le(e.deliveryId);
|
|
27260
|
-
},
|
|
27384
|
+
}, KO) : S = globalThis.setTimeout(() => {
|
|
27261
27385
|
S = 0, b?.id === null && b?.status === "queued" && (b = null, z(), G());
|
|
27262
|
-
},
|
|
27386
|
+
}, JO);
|
|
27263
27387
|
} catch (e) {
|
|
27264
27388
|
b = null, z(), G();
|
|
27265
27389
|
let t = e instanceof Error ? e.message : String(e);
|
|
@@ -27288,7 +27412,7 @@ function Tk(e = {}) {
|
|
|
27288
27412
|
}, 0));
|
|
27289
27413
|
let t = globalThis.setInterval(() => {
|
|
27290
27414
|
k && !c || te(!0).catch(() => void 0);
|
|
27291
|
-
}, k ?
|
|
27415
|
+
}, k ? GO : ak);
|
|
27292
27416
|
e.lifecycle.onDispose(() => {
|
|
27293
27417
|
w = !0, oe(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
|
|
27294
27418
|
});
|
|
@@ -27298,64 +27422,64 @@ function Tk(e = {}) {
|
|
|
27298
27422
|
}
|
|
27299
27423
|
//#endregion
|
|
27300
27424
|
//#region src/recording.ts
|
|
27301
|
-
var
|
|
27302
|
-
...
|
|
27303
|
-
version:
|
|
27304
|
-
}),
|
|
27305
|
-
...
|
|
27306
|
-
version:
|
|
27307
|
-
}),
|
|
27425
|
+
var kk = pE, Ak = (e = {}) => ({
|
|
27426
|
+
...PE(e),
|
|
27427
|
+
version: WD
|
|
27428
|
+
}), jk = qE, Mk = (e = {}) => ({
|
|
27429
|
+
...pD(e),
|
|
27430
|
+
version: WD
|
|
27431
|
+
}), Nk = () => globalThis.window?.__MESURER_HOST__?.codexBridge !== void 0, Pk = [
|
|
27308
27432
|
{
|
|
27309
|
-
id:
|
|
27433
|
+
id: CO,
|
|
27310
27434
|
label: "Context",
|
|
27311
27435
|
order: 30,
|
|
27312
|
-
create:
|
|
27436
|
+
create: PO,
|
|
27313
27437
|
settingsIds: ["context"],
|
|
27314
27438
|
hiddenSettingsControlIds: ["ui"]
|
|
27315
27439
|
},
|
|
27316
27440
|
{
|
|
27317
|
-
id:
|
|
27441
|
+
id: GD,
|
|
27318
27442
|
label: "Edit",
|
|
27319
27443
|
order: 35,
|
|
27320
|
-
create:
|
|
27444
|
+
create: qD,
|
|
27321
27445
|
settingsIds: ["arrange"]
|
|
27322
27446
|
},
|
|
27323
27447
|
{
|
|
27324
|
-
id:
|
|
27448
|
+
id: bO,
|
|
27325
27449
|
label: "Layout Guides",
|
|
27326
27450
|
order: 38,
|
|
27327
|
-
create:
|
|
27451
|
+
create: SO
|
|
27328
27452
|
},
|
|
27329
27453
|
{
|
|
27330
|
-
id:
|
|
27454
|
+
id: jk,
|
|
27331
27455
|
label: "Screenshot",
|
|
27332
27456
|
order: 40,
|
|
27333
|
-
create:
|
|
27457
|
+
create: Mk,
|
|
27334
27458
|
settingsIds: ["screenshot"],
|
|
27335
27459
|
hiddenSettingsControlIds: ["tool"]
|
|
27336
27460
|
},
|
|
27337
27461
|
{
|
|
27338
|
-
id:
|
|
27462
|
+
id: kk,
|
|
27339
27463
|
label: "Recording",
|
|
27340
27464
|
order: 42,
|
|
27341
|
-
create:
|
|
27465
|
+
create: Ak,
|
|
27342
27466
|
settingsIds: ["recording"],
|
|
27343
27467
|
hiddenSettingsControlIds: ["tool"]
|
|
27344
27468
|
},
|
|
27345
27469
|
{
|
|
27346
|
-
id:
|
|
27470
|
+
id: HO,
|
|
27347
27471
|
label: "Codex",
|
|
27348
27472
|
order: 45,
|
|
27349
|
-
create:
|
|
27473
|
+
create: Ok
|
|
27350
27474
|
}
|
|
27351
|
-
],
|
|
27352
|
-
let t = e !== void 0, n = new Map((e ?? []).map((e) => [e.id, e])), r = new Set(
|
|
27475
|
+
], Fk = (e) => {
|
|
27476
|
+
let t = e !== void 0, n = new Map((e ?? []).map((e) => [e.id, e])), r = new Set(Pk.map((e) => e.id)), i = Pk.map((e) => {
|
|
27353
27477
|
let r = n.get(e.id);
|
|
27354
27478
|
return {
|
|
27355
27479
|
...e,
|
|
27356
27480
|
settingsIds: e.settingsIds ? [...e.settingsIds] : void 0,
|
|
27357
27481
|
hiddenSettingsControlIds: e.hiddenSettingsControlIds ? [...e.hiddenSettingsControlIds] : void 0,
|
|
27358
|
-
enabled: t ? !!r : e.id === "mesurer.codex" ?
|
|
27482
|
+
enabled: t ? !!r : e.id === "mesurer.codex" ? Nk() : e.enabled !== !1,
|
|
27359
27483
|
create: r ? () => r : e.create
|
|
27360
27484
|
};
|
|
27361
27485
|
});
|
|
@@ -27366,16 +27490,16 @@ var Ek = uE, Dk = (e = {}) => ({
|
|
|
27366
27490
|
create: () => n
|
|
27367
27491
|
});
|
|
27368
27492
|
return i;
|
|
27369
|
-
},
|
|
27370
|
-
function
|
|
27371
|
-
return
|
|
27493
|
+
}, Ik = (e) => e;
|
|
27494
|
+
function Lk() {
|
|
27495
|
+
return iO();
|
|
27372
27496
|
}
|
|
27373
|
-
async function
|
|
27374
|
-
return
|
|
27497
|
+
async function Rk(e = {}) {
|
|
27498
|
+
return aO(e);
|
|
27375
27499
|
}
|
|
27376
27500
|
//#endregion
|
|
27377
27501
|
//#region src/index.tsx
|
|
27378
|
-
var
|
|
27502
|
+
var zk = {
|
|
27379
27503
|
select: "select",
|
|
27380
27504
|
xray: "xray",
|
|
27381
27505
|
colorPicker: "color-picker",
|
|
@@ -27386,7 +27510,7 @@ var Ik = {
|
|
|
27386
27510
|
distance: "distance",
|
|
27387
27511
|
settings: "settings"
|
|
27388
27512
|
};
|
|
27389
|
-
function
|
|
27513
|
+
function Bk(e = {}) {
|
|
27390
27514
|
if (!("document" in globalThis)) throw Error("mountMesurer() requires a browser or Electron renderer document.");
|
|
27391
27515
|
let { target: t = document.body, isolate: n = !0, shadowMode: r = "open", topLayer: i = !0, agent: a = !1, signal: o, onPluginHost: s, onPluginsReady: c, plugins: l, excludeBuiltins: u, excludePlugins: d, ...f } = e;
|
|
27392
27516
|
if (o?.aborted) throw o.reason ?? new DOMException("Mesurer mount aborted.", "AbortError");
|
|
@@ -27479,7 +27603,7 @@ function Lk(e = {}) {
|
|
|
27479
27603
|
} catch {}
|
|
27480
27604
|
let h = p.createElement("div");
|
|
27481
27605
|
h.dataset.mesurerIsland = "true";
|
|
27482
|
-
let g =
|
|
27606
|
+
let g = VO(h, t, i), _ = h, v = h, y = h;
|
|
27483
27607
|
if (n) {
|
|
27484
27608
|
let e = h.attachShadow({ mode: r });
|
|
27485
27609
|
v = p.createElement("div"), v.dataset.mesurerIslandMount = "true", e.append(v), _ = e, y = e;
|
|
@@ -27490,7 +27614,7 @@ function Lk(e = {}) {
|
|
|
27490
27614
|
C = e, w = t;
|
|
27491
27615
|
});
|
|
27492
27616
|
D.catch(() => void 0), O.catch(() => void 0);
|
|
27493
|
-
let k = async () => (await (b ? Promise.resolve(b) : D), O), A = a === !0 ? {} : a === !1 ? null : a, j =
|
|
27617
|
+
let k = async () => (await (b ? Promise.resolve(b) : D), O), A = a === !0 ? {} : a === !1 ? null : a, j = UD({
|
|
27494
27618
|
ownerDocument: p,
|
|
27495
27619
|
root: A?.root ?? (t.nodeType === 11 ? t : p),
|
|
27496
27620
|
getPluginHost: () => b,
|
|
@@ -27502,12 +27626,12 @@ function Lk(e = {}) {
|
|
|
27502
27626
|
return t;
|
|
27503
27627
|
}, N = async () => {
|
|
27504
27628
|
await j.ready();
|
|
27505
|
-
let e = b?.service.get(
|
|
27629
|
+
let e = b?.service.get(wO);
|
|
27506
27630
|
if (!e) throw Error("Mesurer Context is disabled. Enable it in Settings or include context() in plugins.");
|
|
27507
27631
|
return e;
|
|
27508
27632
|
}, P = async () => {
|
|
27509
27633
|
await j.ready();
|
|
27510
|
-
let e = b?.service.get(
|
|
27634
|
+
let e = b?.service.get(JD);
|
|
27511
27635
|
if (!e) throw Error("Mesurer Edit is disabled. Enable it in Settings or include edit() in plugins.");
|
|
27512
27636
|
return e;
|
|
27513
27637
|
}, F = async (e) => (await N()).context(e), I = async (e) => (await N()).contextText(e), L = async (e) => (await N()).copyContext(e), R = async (e) => (await N()).select(e), z = async () => (await N()).annotations(), B = async (e) => (await N()).review(e), V = async (e) => (await N()).capturePlan(e), ee = async () => (await N()).prepareCapture(), H = async () => (await N()).finishCapture(), U = async () => (await P()).intents(), W = async (e) => {
|
|
@@ -27518,7 +27642,7 @@ function Lk(e = {}) {
|
|
|
27518
27642
|
(await P()).show(e, t);
|
|
27519
27643
|
}, ne = async (e, t) => (await P()).capturePlan(e, t), re = async (e, t) => (await P()).review(e, t), ie = () => j.textEdits(), G = (e) => j.textEdit(e), ae = Object.assign(j, {
|
|
27520
27644
|
capabilities: () => {
|
|
27521
|
-
let e = !!b?.service.get(
|
|
27645
|
+
let e = !!b?.service.get(wO);
|
|
27522
27646
|
return {
|
|
27523
27647
|
protocol: "mesurer.agent/v1",
|
|
27524
27648
|
contextSchema: "mesurer.context/v1",
|
|
@@ -27528,8 +27652,8 @@ function Lk(e = {}) {
|
|
|
27528
27652
|
annotations: e,
|
|
27529
27653
|
review: e,
|
|
27530
27654
|
capturePlan: e,
|
|
27531
|
-
arrange: !!b?.service.get(
|
|
27532
|
-
textEdit: !!b?.service.get(
|
|
27655
|
+
arrange: !!b?.service.get(JD),
|
|
27656
|
+
textEdit: !!b?.service.get(VD)
|
|
27533
27657
|
}
|
|
27534
27658
|
};
|
|
27535
27659
|
},
|
|
@@ -27548,10 +27672,10 @@ function Lk(e = {}) {
|
|
|
27548
27672
|
reviewArrange: re
|
|
27549
27673
|
}), oe = {
|
|
27550
27674
|
...f,
|
|
27551
|
-
version:
|
|
27552
|
-
plugins:
|
|
27553
|
-
excludePlugins: u ? u.map((e) =>
|
|
27554
|
-
}, se = No(() => yo(
|
|
27675
|
+
version: WD,
|
|
27676
|
+
plugins: Fk(l),
|
|
27677
|
+
excludePlugins: u ? u.map((e) => zk[e]) : [...d ?? []]
|
|
27678
|
+
}, se = No(() => yo(YC, oo(oe, {
|
|
27555
27679
|
portalTarget: y,
|
|
27556
27680
|
pageTarget: t,
|
|
27557
27681
|
onPluginHost: (e) => {
|
|
@@ -27619,6 +27743,6 @@ function Lk(e = {}) {
|
|
|
27619
27743
|
}
|
|
27620
27744
|
return he;
|
|
27621
27745
|
}
|
|
27622
|
-
var
|
|
27746
|
+
var Vk = Bk;
|
|
27623
27747
|
//#endregion
|
|
27624
|
-
export {
|
|
27748
|
+
export { VD as MESURER_TEXT_EDIT_SERVICE_ID, WD as MESURER_VERSION, uO as captureMesurerContext, yO as copyTextToClipboard, UD as createMesurerAgentHarness, mO as createMesurerCapturePlan, Lk as createMesurerPluginHost, Rk as createMesurerRuntime, Ik as defineMesurerPlugin, pO as formatMesurerContext, Vk as mountMeasurer, Bk as mountMesurer, vO as reviewMesurerAnnotation };
|