mesurer-solid 0.2.1-beta.5 → 0.2.1-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +514 -205
- package/dist/inject-script.js +8 -8
- package/dist/inject.js +514 -205
- package/dist/plugins.js +1010 -702
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5508,7 +5508,7 @@ function ll(e) {
|
|
|
5508
5508
|
get children() {
|
|
5509
5509
|
var n = X("div", {
|
|
5510
5510
|
"data-mesurer-measurement-chrome": "true",
|
|
5511
|
-
class: "msr:absolute"
|
|
5511
|
+
class: "msr:pointer-events-none msr:absolute"
|
|
5512
5512
|
});
|
|
5513
5513
|
return aa(() => (e) => {
|
|
5514
5514
|
t = e;
|
|
@@ -5870,6 +5870,7 @@ function dl(e) {
|
|
|
5870
5870
|
};
|
|
5871
5871
|
});
|
|
5872
5872
|
var B = X("div", {
|
|
5873
|
+
"data-mesurer-interaction-overlay": "true",
|
|
5873
5874
|
onPointerDown: (t) => e.onPointerDown(t),
|
|
5874
5875
|
onPointerUp: (t) => e.onPointerUp(t),
|
|
5875
5876
|
onPointerLeave: (t) => e.onPointerLeave(t)
|
|
@@ -18282,7 +18283,11 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18282
18283
|
setup(t) {
|
|
18283
18284
|
let n = t.service.get(vb);
|
|
18284
18285
|
if (!n) throw Error("Recording plugin requires the Solid renderer runtime.");
|
|
18285
|
-
let { ownerDocument: r, ownerWindow: i } = n, a = n.createInspectorMount(), o = a.element
|
|
18286
|
+
let { ownerDocument: r, ownerWindow: i } = n, a = n.createInspectorMount(), o = a.element, s = n.rendererRoot ?? n.portalTarget.querySelector("[data-mesurer-root='true']"), c = (e) => {
|
|
18287
|
+
s?.toggleAttribute("data-mesurer-recording-active", e);
|
|
18288
|
+
let t = s?.querySelector("[data-mesurer-interaction-overlay='true']");
|
|
18289
|
+
t && (e ? (t.style.setProperty("pointer-events", "none", "important"), t.style.setProperty("cursor", "default", "important")) : (t.style.removeProperty("pointer-events"), t.style.removeProperty("cursor")));
|
|
18290
|
+
};
|
|
18286
18291
|
o.dataset.mesurerRecording = "true", kb(o, {
|
|
18287
18292
|
position: "fixed",
|
|
18288
18293
|
inset: "0",
|
|
@@ -18290,19 +18295,19 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18290
18295
|
"pointer-events": "none",
|
|
18291
18296
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
18292
18297
|
});
|
|
18293
|
-
let
|
|
18298
|
+
let l = Math.max(1, Math.min(60, Math.round(e.frameRate ?? Cb))), u = Math.max(1, Math.min(600, e.maxDurationSeconds ?? wb)), d = e.quality ?? "medium";
|
|
18294
18299
|
t.state.register({
|
|
18295
18300
|
id: _b,
|
|
18296
18301
|
initial: { toolEnabled: e.toolEnabled ?? !0 },
|
|
18297
18302
|
persist: !0
|
|
18298
18303
|
});
|
|
18299
|
-
let
|
|
18304
|
+
let f = () => ({ toolEnabled: t.state.get("mesurer.recording.settings")?.toolEnabled ?? !0 }), p = (e) => {
|
|
18300
18305
|
t.state.update(_b, (t) => {
|
|
18301
18306
|
let n = { ...t };
|
|
18302
18307
|
return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), n;
|
|
18303
18308
|
});
|
|
18304
|
-
},
|
|
18305
|
-
|
|
18309
|
+
}, m = r.createElement("div");
|
|
18310
|
+
m.dataset.mesurerRecordingSelect = "true", m.dataset.mesurerInspectorUi = "true", m.setAttribute("role", "application"), m.setAttribute("aria-label", "Recording selection"), kb(m, {
|
|
18306
18311
|
position: "fixed",
|
|
18307
18312
|
inset: "0",
|
|
18308
18313
|
display: "none",
|
|
@@ -18311,24 +18316,24 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18311
18316
|
"pointer-events": "auto",
|
|
18312
18317
|
"user-select": "none",
|
|
18313
18318
|
"touch-action": "none"
|
|
18314
|
-
}), o.append(
|
|
18315
|
-
let
|
|
18319
|
+
}), o.append(m);
|
|
18320
|
+
let h = Array.from({ length: 4 }, () => {
|
|
18316
18321
|
let e = r.createElement("div");
|
|
18317
18322
|
return kb(e, {
|
|
18318
18323
|
position: "fixed",
|
|
18319
18324
|
background: "rgb(0 0 0 / 40%)",
|
|
18320
18325
|
"pointer-events": "none"
|
|
18321
|
-
}),
|
|
18322
|
-
}),
|
|
18323
|
-
|
|
18326
|
+
}), m.append(e), e;
|
|
18327
|
+
}), g = r.createElement("div");
|
|
18328
|
+
g.dataset.mesurerRecordingSelection = "true", kb(g, {
|
|
18324
18329
|
position: "fixed",
|
|
18325
18330
|
display: "none",
|
|
18326
18331
|
border: "1px solid var(--msr-accent, #0d99ff)",
|
|
18327
18332
|
"box-sizing": "border-box",
|
|
18328
18333
|
"pointer-events": "none"
|
|
18329
|
-
}),
|
|
18330
|
-
let
|
|
18331
|
-
kb(
|
|
18334
|
+
}), m.append(g);
|
|
18335
|
+
let _ = r.createElement("div");
|
|
18336
|
+
kb(_, {
|
|
18332
18337
|
position: "fixed",
|
|
18333
18338
|
display: "none",
|
|
18334
18339
|
transform: "translateX(-50%)",
|
|
@@ -18339,9 +18344,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18339
18344
|
"font-size": "10px",
|
|
18340
18345
|
"font-variant-numeric": "tabular-nums",
|
|
18341
18346
|
"pointer-events": "none"
|
|
18342
|
-
}),
|
|
18343
|
-
let
|
|
18344
|
-
|
|
18347
|
+
}), m.append(_);
|
|
18348
|
+
let v = r.createElement("div");
|
|
18349
|
+
v.textContent = "Drag a region to record · Esc to cancel", kb(v, {
|
|
18345
18350
|
position: "fixed",
|
|
18346
18351
|
left: "50%",
|
|
18347
18352
|
bottom: "16px",
|
|
@@ -18352,26 +18357,217 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18352
18357
|
color: "var(--msr-surface, #fff)",
|
|
18353
18358
|
"font-size": "11px",
|
|
18354
18359
|
"pointer-events": "none"
|
|
18355
|
-
}),
|
|
18356
|
-
let
|
|
18357
|
-
|
|
18360
|
+
}), m.append(v);
|
|
18361
|
+
let y = r.createElement("div");
|
|
18362
|
+
y.dataset.mesurerRecordingRegion = "true", y.dataset.mesurerInspectorUi = "true", y.setAttribute("role", "dialog"), y.setAttribute("aria-label", "Recording region"), kb(y, {
|
|
18358
18363
|
position: "fixed",
|
|
18359
18364
|
display: "none",
|
|
18360
|
-
|
|
18361
|
-
padding: "
|
|
18365
|
+
width: "220px",
|
|
18366
|
+
padding: "8px",
|
|
18367
|
+
"z-index": "90",
|
|
18368
|
+
"box-sizing": "border-box",
|
|
18369
|
+
overflow: "hidden",
|
|
18370
|
+
"border-radius": "10px",
|
|
18371
|
+
background: "var(--msr-surface-raised, #fff)",
|
|
18372
|
+
color: "var(--msr-content, #18181b)",
|
|
18373
|
+
"box-shadow": "var(--msr-shadow-floating, 0 10px 30px rgba(0,0,0,.12))",
|
|
18374
|
+
"font-size": "11px",
|
|
18375
|
+
"pointer-events": "auto",
|
|
18376
|
+
transform: "translateX(-50%)"
|
|
18377
|
+
}), m.append(y);
|
|
18378
|
+
let b = (e) => {
|
|
18379
|
+
let t = r.createElement("label");
|
|
18380
|
+
kb(t, {
|
|
18381
|
+
display: "grid",
|
|
18382
|
+
"grid-template-columns": "44px minmax(0,1fr)",
|
|
18383
|
+
"align-items": "center",
|
|
18384
|
+
gap: "8px"
|
|
18385
|
+
});
|
|
18386
|
+
let n = r.createElement("span");
|
|
18387
|
+
n.textContent = e, n.style.color = "var(--msr-color-ink-500, #64748b)", t.append(n);
|
|
18388
|
+
let i = r.createElement("div");
|
|
18389
|
+
return kb(i, {
|
|
18390
|
+
display: "flex",
|
|
18391
|
+
"align-items": "center",
|
|
18392
|
+
gap: "4px",
|
|
18393
|
+
"min-width": "0"
|
|
18394
|
+
}), t.append(i), y.append(t), i;
|
|
18395
|
+
}, x = (e) => {
|
|
18396
|
+
let t = r.createElement("input");
|
|
18397
|
+
return t.type = "number", t.setAttribute("aria-label", e), t.step = "1", kb(t, {
|
|
18398
|
+
width: "0",
|
|
18399
|
+
"min-width": "0",
|
|
18400
|
+
flex: "1 1 0",
|
|
18401
|
+
height: "26px",
|
|
18402
|
+
padding: "0 6px",
|
|
18403
|
+
border: "1px solid var(--msr-color-ink-200, #e2e8f0)",
|
|
18404
|
+
"border-radius": "6px",
|
|
18405
|
+
background: "var(--msr-surface, #fff)",
|
|
18406
|
+
color: "var(--msr-content, #18181b)",
|
|
18407
|
+
"font-family": "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
18408
|
+
"font-size": "10px",
|
|
18409
|
+
"font-variant-numeric": "tabular-nums"
|
|
18410
|
+
}), t;
|
|
18411
|
+
}, S = b("Size"), C = x("Width"), w = x("Height");
|
|
18412
|
+
S.append(C);
|
|
18413
|
+
let T = r.createElement("span");
|
|
18414
|
+
T.textContent = "×", T.style.color = "var(--msr-color-ink-500, #64748b)", S.append(T, w);
|
|
18415
|
+
let E = r.createElement("span");
|
|
18416
|
+
E.textContent = "px", E.style.color = "var(--msr-color-ink-500, #64748b)", S.append(E);
|
|
18417
|
+
let D = b("Position");
|
|
18418
|
+
D.style.marginTop = "8px";
|
|
18419
|
+
let O = x("Left"), k = x("Top");
|
|
18420
|
+
D.append(O, k);
|
|
18421
|
+
let A = r.createElement("span");
|
|
18422
|
+
A.textContent = "px", A.style.color = "var(--msr-color-ink-500, #64748b)", D.append(A);
|
|
18423
|
+
let j = r.createElement("button");
|
|
18424
|
+
j.type = "button", j.dataset.mesurerRecordingStart = "true", j.textContent = "● Start recording", kb(j, {
|
|
18425
|
+
width: "100%",
|
|
18426
|
+
height: "28px",
|
|
18427
|
+
"margin-top": "8px",
|
|
18428
|
+
border: "1px solid var(--msr-color-ink-200, #e2e8f0)",
|
|
18429
|
+
"border-radius": "7px",
|
|
18430
|
+
background: "var(--msr-surface-raised, #fff)",
|
|
18431
|
+
color: "var(--msr-content, #18181b)",
|
|
18432
|
+
"font-family": "inherit",
|
|
18433
|
+
"font-size": "11px",
|
|
18434
|
+
"font-weight": "500",
|
|
18435
|
+
cursor: "pointer"
|
|
18436
|
+
}), y.append(j);
|
|
18437
|
+
let M = r.createElement("div");
|
|
18438
|
+
M.dataset.mesurerRecordingGrid = "true", kb(M, {
|
|
18439
|
+
position: "absolute",
|
|
18440
|
+
inset: "0",
|
|
18441
|
+
display: "none",
|
|
18442
|
+
"pointer-events": "none"
|
|
18443
|
+
}), g.append(M);
|
|
18444
|
+
let N = (e) => {
|
|
18445
|
+
let t = r.createElement("div");
|
|
18446
|
+
kb(t, {
|
|
18447
|
+
position: "absolute",
|
|
18448
|
+
opacity: "0.3",
|
|
18449
|
+
...e
|
|
18450
|
+
}), M.append(t);
|
|
18451
|
+
};
|
|
18452
|
+
N({
|
|
18453
|
+
left: "33.333%",
|
|
18454
|
+
top: "0",
|
|
18455
|
+
bottom: "0",
|
|
18456
|
+
borderLeft: "1px dashed var(--msr-color-ink-500, #64748b)"
|
|
18457
|
+
}), N({
|
|
18458
|
+
left: "66.666%",
|
|
18459
|
+
top: "0",
|
|
18460
|
+
bottom: "0",
|
|
18461
|
+
borderLeft: "1px dashed var(--msr-color-ink-500, #64748b)"
|
|
18462
|
+
}), N({
|
|
18463
|
+
top: "33.333%",
|
|
18464
|
+
left: "0",
|
|
18465
|
+
right: "0",
|
|
18466
|
+
borderTop: "1px dashed var(--msr-color-ink-500, #64748b)"
|
|
18467
|
+
}), N({
|
|
18468
|
+
top: "66.666%",
|
|
18469
|
+
left: "0",
|
|
18470
|
+
right: "0",
|
|
18471
|
+
borderTop: "1px dashed var(--msr-color-ink-500, #64748b)"
|
|
18472
|
+
});
|
|
18473
|
+
let P = Object.entries({
|
|
18474
|
+
nw: {
|
|
18475
|
+
left: "0",
|
|
18476
|
+
top: "0"
|
|
18477
|
+
},
|
|
18478
|
+
n: {
|
|
18479
|
+
left: "50%",
|
|
18480
|
+
top: "0"
|
|
18481
|
+
},
|
|
18482
|
+
ne: {
|
|
18483
|
+
left: "100%",
|
|
18484
|
+
top: "0"
|
|
18485
|
+
},
|
|
18486
|
+
e: {
|
|
18487
|
+
left: "100%",
|
|
18488
|
+
top: "50%"
|
|
18489
|
+
},
|
|
18490
|
+
se: {
|
|
18491
|
+
left: "100%",
|
|
18492
|
+
top: "100%"
|
|
18493
|
+
},
|
|
18494
|
+
s: {
|
|
18495
|
+
left: "50%",
|
|
18496
|
+
top: "100%"
|
|
18497
|
+
},
|
|
18498
|
+
sw: {
|
|
18499
|
+
left: "0",
|
|
18500
|
+
top: "100%"
|
|
18501
|
+
},
|
|
18502
|
+
w: {
|
|
18503
|
+
left: "0",
|
|
18504
|
+
top: "50%"
|
|
18505
|
+
}
|
|
18506
|
+
}).map(([e, t]) => {
|
|
18507
|
+
let n = r.createElement("button");
|
|
18508
|
+
return n.type = "button", n.dataset.mesurerRecordingResize = e, n.setAttribute("aria-label", `Resize ${e}`), kb(n, {
|
|
18509
|
+
position: "absolute",
|
|
18510
|
+
display: "none",
|
|
18511
|
+
left: t.left,
|
|
18512
|
+
top: t.top,
|
|
18513
|
+
width: "8px",
|
|
18514
|
+
height: "8px",
|
|
18515
|
+
padding: "0",
|
|
18516
|
+
border: "1px solid var(--msr-color-white, #fff)",
|
|
18517
|
+
"border-radius": "999px",
|
|
18518
|
+
background: "var(--msr-color-ink-900, #18181b)",
|
|
18519
|
+
"box-shadow": "0 0 0 1px rgb(0 0 0 / 25%)",
|
|
18520
|
+
transform: "translate(-50%, -50%)",
|
|
18521
|
+
cursor: e === "n" || e === "s" ? "ns-resize" : e === "e" || e === "w" ? "ew-resize" : e === "nw" || e === "se" ? "nwse-resize" : "nesw-resize",
|
|
18522
|
+
"pointer-events": "auto"
|
|
18523
|
+
}), g.append(n), n;
|
|
18524
|
+
}), F = r.createElement("section");
|
|
18525
|
+
F.dataset.mesurerRecordingStatus = "true", F.dataset.mesurerInspectorUi = "true", F.setAttribute("aria-label", "Screen recording"), kb(F, {
|
|
18526
|
+
position: "fixed",
|
|
18527
|
+
display: "none",
|
|
18528
|
+
height: "34px",
|
|
18529
|
+
padding: "0 8px",
|
|
18530
|
+
"align-items": "center",
|
|
18531
|
+
gap: "8px",
|
|
18362
18532
|
border: "0",
|
|
18363
|
-
"border-radius": "
|
|
18533
|
+
"border-radius": "9px",
|
|
18364
18534
|
background: "var(--msr-surface-raised, #fff)",
|
|
18365
18535
|
color: "var(--msr-content, #18181b)",
|
|
18366
18536
|
"box-shadow": "var(--msr-shadow-floating, 0 8px 24px rgba(0,0,0,.14))",
|
|
18367
18537
|
"font-family": "inherit",
|
|
18368
18538
|
"font-size": "11px",
|
|
18369
|
-
"font-variant-numeric": "tabular-nums",
|
|
18370
|
-
cursor: "pointer",
|
|
18371
18539
|
"pointer-events": "auto"
|
|
18372
|
-
})
|
|
18373
|
-
let
|
|
18374
|
-
|
|
18540
|
+
});
|
|
18541
|
+
let I = r.createElement("span");
|
|
18542
|
+
I.setAttribute("aria-hidden", "true"), kb(I, {
|
|
18543
|
+
width: "6px",
|
|
18544
|
+
height: "6px",
|
|
18545
|
+
"border-radius": "999px",
|
|
18546
|
+
background: "var(--msr-danger-solid-bg, #dc2626)",
|
|
18547
|
+
"flex-shrink": "0"
|
|
18548
|
+
}), F.append(I);
|
|
18549
|
+
let L = r.createElement("span");
|
|
18550
|
+
L.dataset.mesurerRecordingTime = "true", L.textContent = "00:00", kb(L, {
|
|
18551
|
+
color: "var(--msr-content, #18181b)",
|
|
18552
|
+
"font-family": "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
18553
|
+
"font-size": "11px",
|
|
18554
|
+
"font-variant-numeric": "tabular-nums"
|
|
18555
|
+
}), F.append(L);
|
|
18556
|
+
let R = r.createElement("button");
|
|
18557
|
+
R.type = "button", R.dataset.mesurerRecordingStop = "true", R.textContent = "Stop", R.setAttribute("aria-label", "Stop recording"), kb(R, {
|
|
18558
|
+
height: "24px",
|
|
18559
|
+
padding: "0 8px",
|
|
18560
|
+
border: "0",
|
|
18561
|
+
"border-radius": "6px",
|
|
18562
|
+
background: "var(--msr-danger-solid-bg, #dc2626)",
|
|
18563
|
+
color: "var(--msr-danger-solid-text, #fff)",
|
|
18564
|
+
"font-family": "inherit",
|
|
18565
|
+
"font-size": "11px",
|
|
18566
|
+
"font-weight": "500",
|
|
18567
|
+
cursor: "pointer"
|
|
18568
|
+
}), F.append(R), o.append(F);
|
|
18569
|
+
let z = r.createElement("div");
|
|
18570
|
+
z.dataset.mesurerRecordingError = "true", z.dataset.mesurerInspectorUi = "true", z.setAttribute("role", "status"), kb(z, {
|
|
18375
18571
|
position: "fixed",
|
|
18376
18572
|
display: "none",
|
|
18377
18573
|
left: "8px",
|
|
@@ -18383,8 +18579,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18383
18579
|
color: "#fff",
|
|
18384
18580
|
"font-size": "11px",
|
|
18385
18581
|
"pointer-events": "none"
|
|
18386
|
-
}), o.append(
|
|
18387
|
-
let
|
|
18582
|
+
}), o.append(z);
|
|
18583
|
+
let B = {
|
|
18388
18584
|
status: "idle",
|
|
18389
18585
|
elapsed: 0,
|
|
18390
18586
|
rect: null,
|
|
@@ -18392,28 +18588,28 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18392
18588
|
width: null,
|
|
18393
18589
|
height: null,
|
|
18394
18590
|
error: null
|
|
18395
|
-
},
|
|
18396
|
-
let e = Ob(
|
|
18397
|
-
for (let t of
|
|
18398
|
-
},
|
|
18399
|
-
|
|
18400
|
-
...
|
|
18591
|
+
}, V = /* @__PURE__ */ new Set(), H = null, U = null, ee = null, te = null, ne = null, W = null, re = !1, ie = null, ae = null, oe = 0, se = 0, ce = 0, le = 0, G = 0, ue = -1, de = !1, fe = null, pe = () => {
|
|
18592
|
+
let e = Ob(B);
|
|
18593
|
+
for (let t of V) t(e);
|
|
18594
|
+
}, me = (e) => {
|
|
18595
|
+
B = {
|
|
18596
|
+
...B,
|
|
18401
18597
|
...e,
|
|
18402
|
-
rect: e.rect === void 0 ?
|
|
18403
|
-
},
|
|
18404
|
-
},
|
|
18405
|
-
if (
|
|
18598
|
+
rect: e.rect === void 0 ? B.rect : Db(e.rect)
|
|
18599
|
+
}, pe();
|
|
18600
|
+
}, he = () => B.status === "selecting" || B.status === "recording" || B.status === "exporting", ge = () => {
|
|
18601
|
+
if (ae) return;
|
|
18406
18602
|
let e = n.portalTarget.querySelector("[data-mesurer-toolbar='true']");
|
|
18407
|
-
e && (
|
|
18603
|
+
e && (ae = {
|
|
18408
18604
|
element: e,
|
|
18409
18605
|
value: e.style.getPropertyValue("visibility"),
|
|
18410
18606
|
priority: e.style.getPropertyPriority("visibility")
|
|
18411
18607
|
}, e.style.setProperty("visibility", "hidden", "important"));
|
|
18412
|
-
},
|
|
18413
|
-
if (!
|
|
18414
|
-
let e =
|
|
18415
|
-
|
|
18416
|
-
},
|
|
18608
|
+
}, _e = () => {
|
|
18609
|
+
if (!ae) return;
|
|
18610
|
+
let e = ae;
|
|
18611
|
+
ae = null, e.value || e.priority ? e.element.style.setProperty("visibility", e.value, e.priority) : e.element.style.removeProperty("visibility");
|
|
18612
|
+
}, ve = (e, t) => {
|
|
18417
18613
|
for (let n of [
|
|
18418
18614
|
"left",
|
|
18419
18615
|
"top",
|
|
@@ -18423,78 +18619,128 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18423
18619
|
let r = t[n];
|
|
18424
18620
|
r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
|
|
18425
18621
|
}
|
|
18426
|
-
},
|
|
18622
|
+
}, ye = (e) => {
|
|
18623
|
+
let t = i.innerWidth, n = i.innerHeight, r = Math.min(t, Math.max(4, Math.round(e.width))), a = Math.min(n, Math.max(4, Math.round(e.height)));
|
|
18624
|
+
return {
|
|
18625
|
+
left: Math.min(Math.max(0, Math.round(e.left)), Math.max(0, t - r)),
|
|
18626
|
+
top: Math.min(Math.max(0, Math.round(e.top)), Math.max(0, n - a)),
|
|
18627
|
+
width: r,
|
|
18628
|
+
height: a
|
|
18629
|
+
};
|
|
18630
|
+
}, be = (e, t) => t.x >= e.left && t.x <= e.left + e.width && t.y >= e.top && t.y <= e.top + e.height, xe = (e) => {
|
|
18427
18631
|
let t = i.innerWidth, n = i.innerHeight;
|
|
18428
18632
|
if (!e || e.width <= 0 || e.height <= 0) {
|
|
18429
|
-
|
|
18633
|
+
ve(h[0], {
|
|
18430
18634
|
left: 0,
|
|
18431
18635
|
top: 0,
|
|
18432
18636
|
width: t,
|
|
18433
18637
|
height: n
|
|
18434
18638
|
});
|
|
18435
|
-
for (let e of
|
|
18639
|
+
for (let e of h.slice(1)) ve(e, {
|
|
18436
18640
|
left: 0,
|
|
18437
18641
|
top: 0,
|
|
18438
18642
|
width: 0,
|
|
18439
18643
|
height: 0
|
|
18440
18644
|
});
|
|
18441
|
-
|
|
18645
|
+
g.style.display = "none", g.style.pointerEvents = "none", M.style.display = "none";
|
|
18646
|
+
for (let e of P) e.style.display = "none";
|
|
18647
|
+
_.style.display = "none", y.style.display = "none", v.textContent = "Drag to select a region · Esc to cancel";
|
|
18442
18648
|
return;
|
|
18443
18649
|
}
|
|
18444
|
-
|
|
18650
|
+
if (ve(h[0], {
|
|
18445
18651
|
left: 0,
|
|
18446
18652
|
top: 0,
|
|
18447
18653
|
width: t,
|
|
18448
18654
|
height: e.top
|
|
18449
|
-
}),
|
|
18655
|
+
}), ve(h[1], {
|
|
18450
18656
|
left: 0,
|
|
18451
18657
|
top: e.top,
|
|
18452
18658
|
width: e.left,
|
|
18453
18659
|
height: e.height
|
|
18454
|
-
}),
|
|
18660
|
+
}), ve(h[2], {
|
|
18455
18661
|
left: e.left + e.width,
|
|
18456
18662
|
top: e.top,
|
|
18457
18663
|
width: Math.max(0, t - e.left - e.width),
|
|
18458
18664
|
height: e.height
|
|
18459
|
-
}),
|
|
18665
|
+
}), ve(h[3], {
|
|
18460
18666
|
left: 0,
|
|
18461
18667
|
top: e.top + e.height,
|
|
18462
18668
|
width: t,
|
|
18463
18669
|
height: Math.max(0, n - e.top - e.height)
|
|
18464
|
-
}),
|
|
18465
|
-
|
|
18466
|
-
|
|
18467
|
-
|
|
18468
|
-
|
|
18469
|
-
|
|
18470
|
-
|
|
18471
|
-
|
|
18670
|
+
}), g.style.display = "block", ve(g, e), re) {
|
|
18671
|
+
g.style.pointerEvents = "auto", g.style.cursor = "move", M.style.display = "block";
|
|
18672
|
+
for (let e of P) e.style.display = "block";
|
|
18673
|
+
_.style.display = "none", C.value = String(Math.round(e.width)), w.value = String(Math.round(e.height)), O.value = String(Math.round(e.left)), k.value = String(Math.round(e.top)), C.max = String(t), w.max = String(n), O.max = String(Math.max(0, t - e.width)), k.max = String(Math.max(0, n - e.height));
|
|
18674
|
+
let r = Math.min(Math.max(118, e.left + e.width / 2), Math.max(118, t - 110 - 8)), i = e.top + e.height + 12, a = i + 112 <= n ? i : Math.max(8, e.top - 112);
|
|
18675
|
+
y.style.left = `${r}px`, y.style.top = `${a}px`, y.style.display = "block", v.textContent = "Adjust region · Enter to start · Esc to cancel";
|
|
18676
|
+
} else {
|
|
18677
|
+
g.style.pointerEvents = "none", g.style.cursor = "", M.style.display = "none";
|
|
18678
|
+
for (let e of P) e.style.display = "none";
|
|
18679
|
+
y.style.display = "none", _.style.display = "block", _.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, ve(_, {
|
|
18680
|
+
left: e.left + e.width / 2,
|
|
18681
|
+
top: Math.min(n - 22, e.top + e.height + 6)
|
|
18682
|
+
}), v.textContent = "Drag to select a region · Esc to cancel";
|
|
18683
|
+
}
|
|
18684
|
+
}, Se = (e) => {
|
|
18685
|
+
let t = ye(e);
|
|
18686
|
+
W = t, me({ rect: t }), xe(t);
|
|
18687
|
+
}, Ce = (e) => {
|
|
18688
|
+
let t = i.innerWidth, n = i.innerHeight;
|
|
18689
|
+
ve(h[0], {
|
|
18690
|
+
left: 0,
|
|
18691
|
+
top: 0,
|
|
18692
|
+
width: t,
|
|
18693
|
+
height: e.top
|
|
18694
|
+
}), ve(h[1], {
|
|
18695
|
+
left: 0,
|
|
18696
|
+
top: e.top,
|
|
18697
|
+
width: e.left,
|
|
18698
|
+
height: e.height
|
|
18699
|
+
}), ve(h[2], {
|
|
18700
|
+
left: e.left + e.width,
|
|
18701
|
+
top: e.top,
|
|
18702
|
+
width: Math.max(0, t - e.left - e.width),
|
|
18703
|
+
height: e.height
|
|
18704
|
+
}), ve(h[3], {
|
|
18705
|
+
left: 0,
|
|
18706
|
+
top: e.top + e.height,
|
|
18707
|
+
width: t,
|
|
18708
|
+
height: Math.max(0, n - e.top - e.height)
|
|
18709
|
+
}), g.style.display = "none", _.style.display = "none", y.style.display = "none", M.style.display = "none", v.style.display = "none";
|
|
18710
|
+
for (let e of P) e.style.display = "none";
|
|
18711
|
+
m.style.display = "block", m.style.pointerEvents = "none", m.style.cursor = "default";
|
|
18712
|
+
}, we = () => {
|
|
18713
|
+
c(!1), m.style.display = "none", m.style.pointerEvents = "auto", m.style.cursor = "crosshair", v.style.removeProperty("display");
|
|
18714
|
+
}, Te = () => {
|
|
18715
|
+
ne = null, W = null, re = !1, ie = null, xe(null), m.style.display = "none", m.style.cursor = "crosshair", o.style.pointerEvents = "none";
|
|
18716
|
+
}, Ee = (e) => {
|
|
18717
|
+
let t = i.innerHeight, n = i.innerWidth, r = Math.max(112, F.offsetWidth || 112), a = null;
|
|
18472
18718
|
if (e.top >= 46 ? a = e.top - 30 - 8 : t - (e.top + e.height) >= 46 && (a = e.top + e.height + 8), a === null) {
|
|
18473
|
-
|
|
18719
|
+
F.style.display = "none";
|
|
18474
18720
|
return;
|
|
18475
18721
|
}
|
|
18476
18722
|
let o = Math.min(n - r - 8, Math.max(8, e.left + e.width / 2 - r / 2));
|
|
18477
|
-
|
|
18478
|
-
},
|
|
18479
|
-
|
|
18480
|
-
},
|
|
18481
|
-
|
|
18723
|
+
F.style.left = `${o}px`, F.style.top = `${a}px`, F.style.display = "flex";
|
|
18724
|
+
}, De = () => {
|
|
18725
|
+
F.style.display = "none";
|
|
18726
|
+
}, Oe = (e) => {
|
|
18727
|
+
ce && i.clearTimeout(ce);
|
|
18482
18728
|
let t = e instanceof Error ? e.message : "Could not record this region.";
|
|
18483
|
-
|
|
18484
|
-
|
|
18729
|
+
z.textContent = t, z.style.display = "block", ce = i.setTimeout(() => {
|
|
18730
|
+
ce = 0, z.style.display = "none";
|
|
18485
18731
|
}, Tb);
|
|
18486
|
-
},
|
|
18487
|
-
|
|
18488
|
-
let t =
|
|
18489
|
-
if (
|
|
18732
|
+
}, ke = async (e) => {
|
|
18733
|
+
oe && i.cancelAnimationFrame(oe), oe = 0, se && i.clearTimeout(se), se = 0;
|
|
18734
|
+
let t = te;
|
|
18735
|
+
if (te = null, t) try {
|
|
18490
18736
|
await t;
|
|
18491
18737
|
} catch {}
|
|
18492
|
-
let n =
|
|
18493
|
-
|
|
18494
|
-
let r =
|
|
18495
|
-
|
|
18496
|
-
},
|
|
18497
|
-
|
|
18738
|
+
let n = ee;
|
|
18739
|
+
ee = null, e && await n?.cancel();
|
|
18740
|
+
let r = U;
|
|
18741
|
+
U = null, r && Vy(r), we(), De();
|
|
18742
|
+
}, Ae = () => {
|
|
18743
|
+
H = null, Ne.dismiss(), me({
|
|
18498
18744
|
status: "idle",
|
|
18499
18745
|
elapsed: 0,
|
|
18500
18746
|
rect: null,
|
|
@@ -18503,14 +18749,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18503
18749
|
height: null,
|
|
18504
18750
|
error: null
|
|
18505
18751
|
}), t.hook.emit("recording:discard", {});
|
|
18506
|
-
},
|
|
18507
|
-
let e =
|
|
18508
|
-
return Zy(e?.width ?? Math.max(2, Math.round(i.innerWidth)), e?.height ?? Math.max(2, Math.round(i.innerHeight)),
|
|
18509
|
-
},
|
|
18510
|
-
let n =
|
|
18752
|
+
}, je = async () => {
|
|
18753
|
+
let e = H;
|
|
18754
|
+
return Zy(e?.width ?? Math.max(2, Math.round(i.innerWidth)), e?.height ?? Math.max(2, Math.round(i.innerHeight)), l);
|
|
18755
|
+
}, Me = async (e = {}) => {
|
|
18756
|
+
let n = H;
|
|
18511
18757
|
if (!n) throw Error("No recording is ready to export.");
|
|
18512
|
-
let r =
|
|
18513
|
-
|
|
18758
|
+
let r = B.status;
|
|
18759
|
+
me({
|
|
18514
18760
|
status: "exporting",
|
|
18515
18761
|
error: null
|
|
18516
18762
|
});
|
|
@@ -18519,7 +18765,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18519
18765
|
...r,
|
|
18520
18766
|
filename: nb(r.format)
|
|
18521
18767
|
};
|
|
18522
|
-
return
|
|
18768
|
+
return me({
|
|
18523
18769
|
status: "ready",
|
|
18524
18770
|
duration: n.duration,
|
|
18525
18771
|
width: n.width,
|
|
@@ -18534,29 +18780,29 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18534
18780
|
bytes: i.blob.size
|
|
18535
18781
|
}), i;
|
|
18536
18782
|
} catch (e) {
|
|
18537
|
-
throw
|
|
18783
|
+
throw me({
|
|
18538
18784
|
status: r === "ready" ? "ready" : "error",
|
|
18539
18785
|
error: e instanceof Error ? e.message : "Could not export the recording."
|
|
18540
18786
|
}), e;
|
|
18541
18787
|
}
|
|
18542
|
-
},
|
|
18788
|
+
}, Ne = mb({
|
|
18543
18789
|
ownerDocument: r,
|
|
18544
18790
|
ownerWindow: i,
|
|
18545
18791
|
root: o,
|
|
18546
|
-
formats: async () =>
|
|
18547
|
-
onDiscard:
|
|
18548
|
-
onExport:
|
|
18549
|
-
}),
|
|
18550
|
-
if (
|
|
18551
|
-
if (
|
|
18552
|
-
let e =
|
|
18792
|
+
formats: async () => je(),
|
|
18793
|
+
onDiscard: Ae,
|
|
18794
|
+
onExport: Me
|
|
18795
|
+
}), Pe = async () => {
|
|
18796
|
+
if (fe) return fe;
|
|
18797
|
+
if (B.status !== "recording" || !ee || !U) throw Error("No recording is active.");
|
|
18798
|
+
let e = le, n = ee, r = U, a = Db(B.rect);
|
|
18553
18799
|
if (!a) throw Error("Recording region is unavailable.");
|
|
18554
|
-
return
|
|
18555
|
-
|
|
18556
|
-
let s =
|
|
18557
|
-
|
|
18800
|
+
return fe = (async () => {
|
|
18801
|
+
oe && i.cancelAnimationFrame(oe), oe = 0, se && i.clearTimeout(se), se = 0;
|
|
18802
|
+
let s = te;
|
|
18803
|
+
te = null, s && await s;
|
|
18558
18804
|
let c = await n.finalize();
|
|
18559
|
-
if (
|
|
18805
|
+
if (ee = null, U = null, Vy(r), le !== e || de) throw Error("Recording was cancelled.");
|
|
18560
18806
|
let l = await eb(c), u = {
|
|
18561
18807
|
blob: c,
|
|
18562
18808
|
format: "webm",
|
|
@@ -18565,14 +18811,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18565
18811
|
height: l.height,
|
|
18566
18812
|
createdAt: Date.now()
|
|
18567
18813
|
};
|
|
18568
|
-
return
|
|
18814
|
+
return H = u, we(), De(), _e(), o.style.pointerEvents = "none", me({
|
|
18569
18815
|
status: "ready",
|
|
18570
18816
|
elapsed: l.duration,
|
|
18571
18817
|
duration: l.duration,
|
|
18572
18818
|
width: l.width,
|
|
18573
18819
|
height: l.height,
|
|
18574
18820
|
error: null
|
|
18575
|
-
}),
|
|
18821
|
+
}), Ne.show(u), await t.hook.emit("recording:ready", {
|
|
18576
18822
|
rect: a,
|
|
18577
18823
|
duration: l.duration,
|
|
18578
18824
|
width: l.width,
|
|
@@ -18580,45 +18826,45 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18580
18826
|
bytes: c.size
|
|
18581
18827
|
}), u;
|
|
18582
18828
|
})().catch(async (t) => {
|
|
18583
|
-
if (await
|
|
18829
|
+
if (await ke(!0), _e(), le === e && !de) {
|
|
18584
18830
|
let e = t instanceof Error ? t.message : "Could not finish the recording.";
|
|
18585
|
-
|
|
18831
|
+
me({
|
|
18586
18832
|
status: "error",
|
|
18587
18833
|
error: e
|
|
18588
|
-
}),
|
|
18834
|
+
}), Oe(t);
|
|
18589
18835
|
}
|
|
18590
18836
|
throw t;
|
|
18591
18837
|
}).finally(() => {
|
|
18592
|
-
|
|
18593
|
-
}),
|
|
18594
|
-
},
|
|
18595
|
-
let r = 1 /
|
|
18596
|
-
if (
|
|
18597
|
-
let s = Math.max(0, (o -
|
|
18598
|
-
|
|
18838
|
+
fe = null;
|
|
18839
|
+
}), fe;
|
|
18840
|
+
}, Fe = (e, t, n) => {
|
|
18841
|
+
let r = 1 / l, a = (o) => {
|
|
18842
|
+
if (de || le !== n || B.status !== "recording" || ee !== t || U !== e) return;
|
|
18843
|
+
let s = Math.max(0, (o - G) / 1e3);
|
|
18844
|
+
me({ elapsed: s }), L.textContent = `${String(Math.floor(s / 60)).padStart(2, "0")}:${String(Math.floor(s % 60)).padStart(2, "0")}`;
|
|
18599
18845
|
let c = s;
|
|
18600
|
-
!
|
|
18846
|
+
!te && c - ue >= r * .8 && (By(e, B.rect ?? {
|
|
18601
18847
|
left: 0,
|
|
18602
18848
|
top: 0,
|
|
18603
18849
|
width: i.innerWidth,
|
|
18604
18850
|
height: i.innerHeight
|
|
18605
|
-
}, Ty(i)),
|
|
18606
|
-
throw
|
|
18607
|
-
|
|
18851
|
+
}, Ty(i)), ue = c, te = t.addFrame(c, r).catch((e) => {
|
|
18852
|
+
throw le === n && !de && ke(!0).then(() => {
|
|
18853
|
+
_e();
|
|
18608
18854
|
let t = e instanceof Error ? e.message : "MediaBunny could not encode the recording.";
|
|
18609
|
-
|
|
18855
|
+
me({
|
|
18610
18856
|
status: "error",
|
|
18611
18857
|
error: t
|
|
18612
|
-
}),
|
|
18858
|
+
}), Oe(e);
|
|
18613
18859
|
}), e;
|
|
18614
18860
|
}).finally(() => {
|
|
18615
|
-
|
|
18616
|
-
})),
|
|
18861
|
+
te = null;
|
|
18862
|
+
})), oe = i.requestAnimationFrame(a);
|
|
18617
18863
|
};
|
|
18618
|
-
|
|
18619
|
-
},
|
|
18620
|
-
let n = ++
|
|
18621
|
-
|
|
18864
|
+
oe = i.requestAnimationFrame(a);
|
|
18865
|
+
}, Ie = async (e) => {
|
|
18866
|
+
let n = ++le;
|
|
18867
|
+
Ne.dismiss(), H = null, Te(), _e(), me({
|
|
18622
18868
|
status: "selecting",
|
|
18623
18869
|
elapsed: 0,
|
|
18624
18870
|
rect: e,
|
|
@@ -18629,46 +18875,46 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18629
18875
|
});
|
|
18630
18876
|
try {
|
|
18631
18877
|
let a = await zy(r, i, e);
|
|
18632
|
-
if (
|
|
18878
|
+
if (de || le !== n) {
|
|
18633
18879
|
Vy(a);
|
|
18634
18880
|
return;
|
|
18635
18881
|
}
|
|
18636
|
-
let
|
|
18882
|
+
let s = await $y(a.canvas, {
|
|
18637
18883
|
format: "webm",
|
|
18638
|
-
frameRate:
|
|
18639
|
-
quality:
|
|
18884
|
+
frameRate: l,
|
|
18885
|
+
quality: d
|
|
18640
18886
|
});
|
|
18641
|
-
if (
|
|
18642
|
-
await
|
|
18887
|
+
if (de || le !== n) {
|
|
18888
|
+
await s.cancel(), Vy(a);
|
|
18643
18889
|
return;
|
|
18644
18890
|
}
|
|
18645
|
-
if (
|
|
18646
|
-
await
|
|
18891
|
+
if (U = a, ee = s, G = i.performance.now(), ue = 0, By(a, e, Ty(i)), await s.addFrame(0, 1 / l), de || le !== n) {
|
|
18892
|
+
await ke(!0);
|
|
18647
18893
|
return;
|
|
18648
18894
|
}
|
|
18649
|
-
|
|
18895
|
+
me({
|
|
18650
18896
|
status: "recording",
|
|
18651
18897
|
elapsed: 0
|
|
18652
|
-
}), o.style.pointerEvents = "
|
|
18653
|
-
|
|
18654
|
-
}, { once: !0 }),
|
|
18655
|
-
|
|
18656
|
-
},
|
|
18898
|
+
}), o.style.pointerEvents = "none", c(!0), Ce(e), L.textContent = "00:00", Ee(e), Fe(a, s, n), a.track.addEventListener("ended", () => {
|
|
18899
|
+
le === n && B.status === "recording" && Pe().catch(() => void 0);
|
|
18900
|
+
}, { once: !0 }), se = i.setTimeout(() => {
|
|
18901
|
+
le === n && B.status === "recording" && Pe().catch(() => void 0);
|
|
18902
|
+
}, u * 1e3), await t.hook.emit("recording:start", {
|
|
18657
18903
|
rect: { ...e },
|
|
18658
|
-
frameRate:
|
|
18659
|
-
maxDurationSeconds:
|
|
18904
|
+
frameRate: l,
|
|
18905
|
+
maxDurationSeconds: u
|
|
18660
18906
|
});
|
|
18661
18907
|
} catch (t) {
|
|
18662
|
-
if (await
|
|
18908
|
+
if (await ke(!0), _e(), le !== n || de) return;
|
|
18663
18909
|
let r = t instanceof DOMException && t.name === "AbortError", i = r ? null : t instanceof Error ? t.message : "Could not start the recording.";
|
|
18664
|
-
throw
|
|
18910
|
+
throw me({
|
|
18665
18911
|
status: r ? "idle" : "error",
|
|
18666
18912
|
rect: r ? null : e,
|
|
18667
18913
|
error: i
|
|
18668
|
-
}), r ||
|
|
18914
|
+
}), r || Oe(t), t;
|
|
18669
18915
|
}
|
|
18670
|
-
},
|
|
18671
|
-
|
|
18916
|
+
}, Le = () => {
|
|
18917
|
+
B.status !== "selecting" && (++le, Ne.dismiss(), H = null, W = null, re = !1, ie = null, ge(), xe(null), m.style.display = "block", m.style.pointerEvents = "auto", v.style.removeProperty("display"), o.style.pointerEvents = "auto", me({
|
|
18672
18918
|
status: "selecting",
|
|
18673
18919
|
elapsed: 0,
|
|
18674
18920
|
rect: null,
|
|
@@ -18677,23 +18923,23 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18677
18923
|
height: null,
|
|
18678
18924
|
error: null
|
|
18679
18925
|
}));
|
|
18680
|
-
},
|
|
18681
|
-
if (
|
|
18682
|
-
await
|
|
18926
|
+
}, Re = async (e) => {
|
|
18927
|
+
if (B.status === "recording") {
|
|
18928
|
+
await Pe();
|
|
18683
18929
|
return;
|
|
18684
18930
|
}
|
|
18685
|
-
if (
|
|
18686
|
-
await
|
|
18931
|
+
if (B.status === "selecting") {
|
|
18932
|
+
await ze();
|
|
18687
18933
|
return;
|
|
18688
18934
|
}
|
|
18689
18935
|
if (!e) {
|
|
18690
|
-
|
|
18936
|
+
Le();
|
|
18691
18937
|
return;
|
|
18692
18938
|
}
|
|
18693
18939
|
if (e.width < 4 || e.height < 4) throw Error("Recording selection must be at least 4px by 4px.");
|
|
18694
|
-
await
|
|
18695
|
-
},
|
|
18696
|
-
++
|
|
18940
|
+
await Ie(e);
|
|
18941
|
+
}, ze = async () => {
|
|
18942
|
+
++le, Te(), await ke(!0), _e(), B.status !== "ready" && me({
|
|
18697
18943
|
status: "idle",
|
|
18698
18944
|
elapsed: 0,
|
|
18699
18945
|
rect: null,
|
|
@@ -18702,26 +18948,64 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18702
18948
|
height: null,
|
|
18703
18949
|
error: null
|
|
18704
18950
|
});
|
|
18705
|
-
},
|
|
18706
|
-
|
|
18951
|
+
}, Be = (e, t, n) => {
|
|
18952
|
+
let r = W;
|
|
18953
|
+
!re || !r || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), ie = {
|
|
18954
|
+
kind: t,
|
|
18955
|
+
handle: n,
|
|
18956
|
+
pointerId: e.pointerId,
|
|
18957
|
+
startX: e.clientX,
|
|
18958
|
+
startY: e.clientY,
|
|
18959
|
+
rect: { ...r }
|
|
18960
|
+
}, m.setPointerCapture?.(e.pointerId));
|
|
18961
|
+
}, Ve = (e) => {
|
|
18962
|
+
B.status === "selecting" && e.button === 0 && (re && W && be(W, {
|
|
18707
18963
|
x: e.clientX,
|
|
18708
18964
|
y: e.clientY
|
|
18709
|
-
},
|
|
18710
|
-
width: i.innerWidth,
|
|
18711
|
-
height: i.innerHeight
|
|
18712
|
-
})), f.setPointerCapture?.(e.pointerId));
|
|
18713
|
-
}, fe = (e) => {
|
|
18714
|
-
y.status !== "selecting" || !T || V(qa(T, {
|
|
18965
|
+
}) || (e.preventDefault(), e.stopPropagation(), re = !1, W = null, me({ rect: null }), m.style.cursor = "crosshair", ne = {
|
|
18715
18966
|
x: e.clientX,
|
|
18716
18967
|
y: e.clientY
|
|
18717
|
-
}, {
|
|
18968
|
+
}, xe(qa(ne, ne, {
|
|
18718
18969
|
width: i.innerWidth,
|
|
18719
18970
|
height: i.innerHeight
|
|
18720
|
-
}));
|
|
18721
|
-
},
|
|
18722
|
-
|
|
18723
|
-
|
|
18724
|
-
|
|
18971
|
+
})), m.setPointerCapture?.(e.pointerId)));
|
|
18972
|
+
}, He = (e) => {
|
|
18973
|
+
if (B.status === "selecting") {
|
|
18974
|
+
if (ie) {
|
|
18975
|
+
let t = ie, n = e.clientX - t.startX, r = e.clientY - t.startY, a = i.innerWidth, o = i.innerHeight;
|
|
18976
|
+
if (t.kind === "move") {
|
|
18977
|
+
Se({
|
|
18978
|
+
...t.rect,
|
|
18979
|
+
left: t.rect.left + n,
|
|
18980
|
+
top: t.rect.top + r
|
|
18981
|
+
});
|
|
18982
|
+
return;
|
|
18983
|
+
}
|
|
18984
|
+
let s = t.handle ?? "", c = t.rect.left, l = t.rect.top, u = t.rect.left + t.rect.width, d = t.rect.top + t.rect.height;
|
|
18985
|
+
s.includes("w") && (c = Math.min(u - 4, Math.max(0, t.rect.left + n))), s.includes("e") && (u = Math.max(c + 4, Math.min(a, t.rect.left + t.rect.width + n))), s.includes("n") && (l = Math.min(d - 4, Math.max(0, t.rect.top + r))), s.includes("s") && (d = Math.max(l + 4, Math.min(o, t.rect.top + t.rect.height + r))), Se({
|
|
18986
|
+
left: c,
|
|
18987
|
+
top: l,
|
|
18988
|
+
width: u - c,
|
|
18989
|
+
height: d - l
|
|
18990
|
+
});
|
|
18991
|
+
return;
|
|
18992
|
+
}
|
|
18993
|
+
ne && xe(qa(ne, {
|
|
18994
|
+
x: e.clientX,
|
|
18995
|
+
y: e.clientY
|
|
18996
|
+
}, {
|
|
18997
|
+
width: i.innerWidth,
|
|
18998
|
+
height: i.innerHeight
|
|
18999
|
+
}));
|
|
19000
|
+
}
|
|
19001
|
+
}, Ue = (e) => {
|
|
19002
|
+
if (ie) {
|
|
19003
|
+
ie = null, m.hasPointerCapture?.(e.pointerId) && m.releasePointerCapture(e.pointerId), W && xe(W);
|
|
19004
|
+
return;
|
|
19005
|
+
}
|
|
19006
|
+
let t = ne;
|
|
19007
|
+
if (ne = null, B.status !== "selecting" || !t) return;
|
|
19008
|
+
m.hasPointerCapture?.(e.pointerId) && m.releasePointerCapture(e.pointerId);
|
|
18725
19009
|
let n = qa(t, {
|
|
18726
19010
|
x: e.clientX,
|
|
18727
19011
|
y: e.clientY
|
|
@@ -18730,35 +19014,60 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18730
19014
|
height: i.innerHeight
|
|
18731
19015
|
});
|
|
18732
19016
|
if (n.width < 4 || n.height < 4) {
|
|
18733
|
-
|
|
19017
|
+
W = null, re = !1, me({ rect: null }), xe(null);
|
|
19018
|
+
return;
|
|
19019
|
+
}
|
|
19020
|
+
W = ye(n), re = !0, m.style.cursor = "default", me({ rect: W }), xe(W);
|
|
19021
|
+
}, We = (e) => {
|
|
19022
|
+
ne = null, ie = null, m.hasPointerCapture?.(e.pointerId) && m.releasePointerCapture(e.pointerId), xe(W && re ? W : null);
|
|
19023
|
+
}, Ge = (e) => {
|
|
19024
|
+
if (e.key === "Enter" && B.status === "selecting" && re && W) {
|
|
19025
|
+
e.preventDefault(), e.stopImmediatePropagation(), Ie(W).catch(() => void 0);
|
|
18734
19026
|
return;
|
|
18735
19027
|
}
|
|
18736
|
-
ce(n).catch(() => void 0);
|
|
18737
|
-
}, me = (e) => {
|
|
18738
|
-
T = null, f.hasPointerCapture?.(e.pointerId) && f.releasePointerCapture(e.pointerId), V(null);
|
|
18739
|
-
}, he = (e) => {
|
|
18740
19028
|
if (e.key === "Escape") {
|
|
18741
|
-
if (
|
|
18742
|
-
e.preventDefault(), e.stopImmediatePropagation(),
|
|
19029
|
+
if (B.status === "selecting") {
|
|
19030
|
+
e.preventDefault(), e.stopImmediatePropagation(), ze();
|
|
18743
19031
|
return;
|
|
18744
19032
|
}
|
|
18745
|
-
|
|
19033
|
+
B.status === "recording" && (e.preventDefault(), e.stopImmediatePropagation(), Pe().catch(() => void 0));
|
|
18746
19034
|
}
|
|
18747
19035
|
};
|
|
18748
|
-
|
|
18749
|
-
|
|
19036
|
+
m.addEventListener("pointerdown", Ve), m.addEventListener("pointermove", He), m.addEventListener("pointerup", Ue), m.addEventListener("pointercancel", We), i.addEventListener("keydown", Ge, !0), g.addEventListener("pointerdown", (e) => {
|
|
19037
|
+
let t = e.target;
|
|
19038
|
+
t instanceof Element && t.closest("[data-mesurer-recording-resize]") || Be(e, "move");
|
|
19039
|
+
});
|
|
19040
|
+
for (let e of P) e.addEventListener("pointerdown", (t) => {
|
|
19041
|
+
Be(t, "resize", e.dataset.mesurerRecordingResize);
|
|
19042
|
+
});
|
|
19043
|
+
y.addEventListener("pointerdown", (e) => {
|
|
19044
|
+
e.stopPropagation();
|
|
19045
|
+
}), y.addEventListener("click", (e) => {
|
|
19046
|
+
e.stopPropagation();
|
|
19047
|
+
});
|
|
19048
|
+
let Ke = (e, t) => {
|
|
19049
|
+
let n = W, r = Number(e.value);
|
|
19050
|
+
!n || !Number.isFinite(r) || Se({
|
|
19051
|
+
...n,
|
|
19052
|
+
[t]: r
|
|
19053
|
+
});
|
|
19054
|
+
};
|
|
19055
|
+
C.addEventListener("change", () => Ke(C, "width")), w.addEventListener("change", () => Ke(w, "height")), O.addEventListener("change", () => Ke(O, "left")), k.addEventListener("change", () => Ke(k, "top")), j.addEventListener("click", () => {
|
|
19056
|
+
B.status === "selecting" && re && W && Ie(W).catch(() => void 0);
|
|
19057
|
+
}), R.addEventListener("click", () => {
|
|
19058
|
+
B.status === "recording" && Pe().catch(() => void 0);
|
|
18750
19059
|
});
|
|
18751
|
-
let
|
|
18752
|
-
snapshot: () => Ob(
|
|
19060
|
+
let qe = {
|
|
19061
|
+
snapshot: () => Ob(B),
|
|
18753
19062
|
subscribe(e) {
|
|
18754
|
-
return
|
|
19063
|
+
return V.add(e), () => V.delete(e);
|
|
18755
19064
|
},
|
|
18756
|
-
formats:
|
|
18757
|
-
start:
|
|
18758
|
-
stop:
|
|
18759
|
-
cancel:
|
|
18760
|
-
discard:
|
|
18761
|
-
export:
|
|
19065
|
+
formats: je,
|
|
19066
|
+
start: Re,
|
|
19067
|
+
stop: Pe,
|
|
19068
|
+
cancel: ze,
|
|
19069
|
+
discard: Ae,
|
|
19070
|
+
export: Me
|
|
18762
19071
|
};
|
|
18763
19072
|
t.tool.register({
|
|
18764
19073
|
id: "recording",
|
|
@@ -18768,28 +19077,28 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18768
19077
|
command: yb,
|
|
18769
19078
|
toolbarMode: "select",
|
|
18770
19079
|
icon: Eb,
|
|
18771
|
-
active:
|
|
18772
|
-
hidden: () => !
|
|
19080
|
+
active: he,
|
|
19081
|
+
hidden: () => !f().toolEnabled,
|
|
18773
19082
|
menu: {
|
|
18774
19083
|
label: "Recording options",
|
|
18775
19084
|
items: [
|
|
18776
19085
|
{
|
|
18777
19086
|
id: "new",
|
|
18778
19087
|
label: "New recording",
|
|
18779
|
-
disabled: () =>
|
|
18780
|
-
run: () =>
|
|
19088
|
+
disabled: () => B.status === "recording" || B.status === "exporting",
|
|
19089
|
+
run: () => Re()
|
|
18781
19090
|
},
|
|
18782
19091
|
{
|
|
18783
19092
|
id: "stop",
|
|
18784
19093
|
label: "Stop recording",
|
|
18785
|
-
disabled: () =>
|
|
18786
|
-
run: () =>
|
|
19094
|
+
disabled: () => B.status !== "recording",
|
|
19095
|
+
run: () => Pe().then(() => void 0)
|
|
18787
19096
|
},
|
|
18788
19097
|
{
|
|
18789
19098
|
id: "discard",
|
|
18790
19099
|
label: "Discard clip",
|
|
18791
|
-
disabled: () =>
|
|
18792
|
-
run:
|
|
19100
|
+
disabled: () => H === null,
|
|
19101
|
+
run: Ae
|
|
18793
19102
|
}
|
|
18794
19103
|
]
|
|
18795
19104
|
}
|
|
@@ -18802,16 +19111,16 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18802
19111
|
id: "tool",
|
|
18803
19112
|
label: "Recording tool",
|
|
18804
19113
|
description: "Show selected-region video recording in the Select toolbar.",
|
|
18805
|
-
value: () =>
|
|
19114
|
+
value: () => f().toolEnabled,
|
|
18806
19115
|
set: async (e) => {
|
|
18807
|
-
|
|
19116
|
+
p({ toolEnabled: e }), !e && he() && await ze();
|
|
18808
19117
|
}
|
|
18809
19118
|
}]
|
|
18810
|
-
}), t.command.register(yb, async () => (await
|
|
18811
|
-
let t = await
|
|
19119
|
+
}), t.command.register(yb, async () => (await Re(), Nb(B))), t.command.register(bb, async () => Fb(await Pe())), t.command.register(xb, () => (Ae(), Nb(B))), t.command.register(Sb, async (e) => {
|
|
19120
|
+
let t = await Me(Mb(e));
|
|
18812
19121
|
return Ib(t, r, i), Pb(t);
|
|
18813
|
-
}), t.service.provide(gb,
|
|
18814
|
-
|
|
19122
|
+
}), t.service.provide(gb, qe), t.lifecycle.onDispose(() => {
|
|
19123
|
+
de = !0, ++le, V.clear(), m.removeEventListener("pointerdown", Ve), m.removeEventListener("pointermove", He), m.removeEventListener("pointerup", Ue), m.removeEventListener("pointercancel", We), i.removeEventListener("keydown", Ge, !0), ce && i.clearTimeout(ce), Ne.dispose(), Te(), _e(), ke(!0), a.dispose();
|
|
18815
19124
|
});
|
|
18816
19125
|
}
|
|
18817
19126
|
}), Rb = 144, zb = 96, Bb = 8, Vb = 4, Hb = 1800, Ub = (e, t) => {
|
|
@@ -19866,7 +20175,7 @@ function Gx(e) {
|
|
|
19866
20175
|
}
|
|
19867
20176
|
//#endregion
|
|
19868
20177
|
//#region src/version.ts
|
|
19869
|
-
var Kx = "0.2.1-beta.
|
|
20178
|
+
var Kx = "0.2.1-beta.6", qx = Np, Jx = Pp, Yx = () => ({
|
|
19870
20179
|
...km(),
|
|
19871
20180
|
version: Kx
|
|
19872
20181
|
}), Xx = Jx, Zx = (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, Qx = (e) => {
|
|
@@ -20638,7 +20947,7 @@ var LS = {
|
|
|
20638
20947
|
overflow: "visible",
|
|
20639
20948
|
background: "transparent",
|
|
20640
20949
|
"box-sizing": "border-box",
|
|
20641
|
-
"pointer-events": "
|
|
20950
|
+
"pointer-events": "none",
|
|
20642
20951
|
"z-index": "2147483647",
|
|
20643
20952
|
opacity: "1",
|
|
20644
20953
|
visibility: "visible",
|