mesurer-solid 0.2.3-beta.10 → 0.2.3-beta.11
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 +333 -302
- package/dist/inject-script.js +11 -5
- package/dist/inject.js +333 -302
- package/dist/plugins.js +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4847,11 +4847,10 @@ function Ol(e) {
|
|
|
4847
4847
|
return ic(() => !!(f() && e.model.state.colorPickerActive))() ? !e.model.state.colorPickerSample : f() && e.model.state.colorPickerActive;
|
|
4848
4848
|
},
|
|
4849
4849
|
get children() {
|
|
4850
|
-
|
|
4850
|
+
var t = X("div", {
|
|
4851
4851
|
"data-mesurer-color-picker-target": "true",
|
|
4852
4852
|
"data-mesurer-inspector-ui": "true",
|
|
4853
4853
|
"aria-hidden": "true",
|
|
4854
|
-
class: "msr:pointer-events-auto msr:fixed msr:inset-0 msr:z-[60] msr:cursor-crosshair",
|
|
4855
4854
|
onPointerDown: (t) => {
|
|
4856
4855
|
t.button === 0 && (t.preventDefault(), t.stopPropagation(), t.stopImmediatePropagation(), e.onHostPick?.({
|
|
4857
4856
|
x: t.clientX,
|
|
@@ -4860,74 +4859,77 @@ function Ol(e) {
|
|
|
4860
4859
|
},
|
|
4861
4860
|
onContextMenu: (e) => e.preventDefault()
|
|
4862
4861
|
});
|
|
4862
|
+
return J(() => `msr:pointer-events-auto msr:fixed msr:inset-0 msr:cursor-crosshair ${e.responsiveOpen ? "msr:z-[85]" : "msr:z-[60]"}`, (e, n) => {
|
|
4863
|
+
$(t, "class", e, n);
|
|
4864
|
+
}), t;
|
|
4863
4865
|
}
|
|
4864
4866
|
}), Y(q, {
|
|
4865
4867
|
get when() {
|
|
4866
4868
|
return ic(() => !!e.model.state.colorPickerActive)() ? e.model.state.colorPickerSample : e.model.state.colorPickerActive;
|
|
4867
4869
|
},
|
|
4868
|
-
children: (
|
|
4869
|
-
var
|
|
4870
|
-
class: "mesurer-color-picker msr:pointer-events-auto msr:fixed msr:z-[80] msr:min-w-36 msr:rounded-lg msr:border msr:border-black/10 msr:bg-white msr:px-2 msr:py-2 msr:font-mono msr:text-[10px] msr:leading-4 msr:shadow-lg",
|
|
4870
|
+
children: (t) => (() => {
|
|
4871
|
+
var n = X("div", {
|
|
4871
4872
|
role: "dialog",
|
|
4872
4873
|
"aria-label": "Selected color values",
|
|
4873
4874
|
"data-mesurer-inspector-ui": "true"
|
|
4874
4875
|
});
|
|
4875
4876
|
return lc(() => (e) => {
|
|
4876
4877
|
i = e;
|
|
4877
|
-
},
|
|
4878
|
+
}, n), Q(n, Y(q, {
|
|
4878
4879
|
get when() {
|
|
4879
4880
|
return u();
|
|
4880
4881
|
},
|
|
4881
4882
|
get fallback() {
|
|
4882
|
-
var
|
|
4883
|
+
var e = X("div", { class: "msr:flex msr:items-center" }), n = X("span", {
|
|
4883
4884
|
class: "msr:size-3 msr:shrink-0 msr:rounded-full msr:border msr:border-black/15",
|
|
4884
4885
|
"aria-hidden": "true"
|
|
4885
4886
|
});
|
|
4886
|
-
return Z(
|
|
4887
|
+
return Z(e, n), J(() => ({ "background-color": Rc(t()) }), (e, t) => {
|
|
4887
4888
|
$(n, "style", e, t);
|
|
4888
|
-
}),
|
|
4889
|
+
}), e;
|
|
4889
4890
|
},
|
|
4890
|
-
children: (
|
|
4891
|
+
children: (e) => (() => {
|
|
4891
4892
|
var n = X("div"), r = X("span", {
|
|
4892
4893
|
class: "msr:size-3 msr:shrink-0 msr:rounded-full msr:border msr:border-black/15",
|
|
4893
4894
|
"aria-hidden": "true"
|
|
4894
4895
|
});
|
|
4895
4896
|
return Z(n, r), Q(n, Y(p, {
|
|
4896
4897
|
get id() {
|
|
4897
|
-
return
|
|
4898
|
+
return e();
|
|
4898
4899
|
},
|
|
4899
4900
|
get value() {
|
|
4900
|
-
return Uc(
|
|
4901
|
+
return Uc(t(), e());
|
|
4901
4902
|
},
|
|
4902
4903
|
class: "msr:font-medium msr:tabular-nums msr:text-black msr:hover:underline"
|
|
4903
4904
|
}), null), J(() => ({
|
|
4904
4905
|
e: d().length > 0 ? "msr:mb-1 msr:flex msr:items-center msr:gap-1.5 msr:border-b msr:border-black/8 msr:pb-1" : "msr:flex msr:items-center msr:gap-1.5",
|
|
4905
|
-
t: { "background-color": Rc(
|
|
4906
|
+
t: { "background-color": Rc(t()) }
|
|
4906
4907
|
}), ({ e, t }, i) => {
|
|
4907
4908
|
e !== i?.e && $(n, "class", e, i?.e), t !== i?.t && $(r, "style", t, i?.t);
|
|
4908
4909
|
}), n;
|
|
4909
4910
|
})()
|
|
4910
|
-
}), null), Q(
|
|
4911
|
+
}), null), Q(n, Y(xo, {
|
|
4911
4912
|
get each() {
|
|
4912
4913
|
return d();
|
|
4913
4914
|
},
|
|
4914
|
-
children: (
|
|
4915
|
+
children: (e) => (() => {
|
|
4915
4916
|
var n = X("div", { class: "msr:flex msr:items-center msr:gap-2" }), r = X("span", { class: "msr:w-9 msr:text-black/45" });
|
|
4916
|
-
return Z(n, r), Q(r,
|
|
4917
|
-
id:
|
|
4917
|
+
return Z(n, r), Q(r, e), Q(n, Y(p, {
|
|
4918
|
+
id: e,
|
|
4918
4919
|
get value() {
|
|
4919
|
-
return Uc(
|
|
4920
|
+
return Uc(t(), e);
|
|
4920
4921
|
},
|
|
4921
4922
|
class: "msr:tabular-nums msr:text-black msr:hover:underline"
|
|
4922
4923
|
}), null), n;
|
|
4923
4924
|
})()
|
|
4924
4925
|
}), null), J(() => ({
|
|
4925
|
-
e:
|
|
4926
|
-
t: f() ? "
|
|
4927
|
-
a:
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4926
|
+
e: `mesurer-color-picker msr:pointer-events-auto msr:fixed ${e.responsiveOpen ? "msr:z-[86]" : "msr:z-[80]"} msr:min-w-36 msr:rounded-lg msr:border msr:border-black/10 msr:bg-white msr:px-2 msr:py-2 msr:font-mono msr:text-[10px] msr:leading-4 msr:shadow-lg`,
|
|
4927
|
+
t: f() ? "Sampled from the current application window." : "Sampled from the native browser EyeDropper.",
|
|
4928
|
+
a: f() ? "host" : "native",
|
|
4929
|
+
o: r.onTooltipContainerLeave
|
|
4930
|
+
}), ({ e, t, a: r, o: i }, a) => {
|
|
4931
|
+
e !== a?.e && $(n, "class", e, a?.e), t !== a?.t && $(n, "aria-description", t, a?.t), r !== a?.a && $(n, "data-mesurer-color-picker-mode", r, a?.a), i !== a?.o && $(n, "onMouseLeave", i, a?.o);
|
|
4932
|
+
}), n;
|
|
4931
4933
|
})()
|
|
4932
4934
|
})];
|
|
4933
4935
|
}
|
|
@@ -6313,26 +6315,22 @@ function Jd(e) {
|
|
|
6313
6315
|
for (let e of d) l.add(new Option(e.name, `${e.width}x${e.height}`));
|
|
6314
6316
|
l.addEventListener("change", () => {
|
|
6315
6317
|
let [e, t] = (l.value || "0x0").split("x").map(Number), n = Wd(e), r = l.selectedOptions[0]?.textContent?.includes("breakpoint") ?? !1 ? a[0]?.height ?? 852 : t;
|
|
6316
|
-
if (!n || !r)
|
|
6317
|
-
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
|
|
6328
|
-
|
|
6329
|
-
}
|
|
6330
|
-
|
|
6331
|
-
left: h.scrollWidth,
|
|
6332
|
-
behavior: "instant"
|
|
6333
|
-
});
|
|
6318
|
+
if (!(!n || !r)) {
|
|
6319
|
+
if (a.length < Id) {
|
|
6320
|
+
let e = Fd.find((e) => e.width === n && e.height === r), t = {
|
|
6321
|
+
id: Bd++,
|
|
6322
|
+
name: e?.name ?? `${n}px breakpoint`,
|
|
6323
|
+
width: n,
|
|
6324
|
+
height: r,
|
|
6325
|
+
guides: []
|
|
6326
|
+
};
|
|
6327
|
+
a = [...a, t], P(), B(), h.scrollTo({
|
|
6328
|
+
left: h.scrollWidth,
|
|
6329
|
+
behavior: "instant"
|
|
6330
|
+
});
|
|
6331
|
+
}
|
|
6332
|
+
l.value = "";
|
|
6334
6333
|
}
|
|
6335
|
-
l.value = "";
|
|
6336
6334
|
}), c.append(l);
|
|
6337
6335
|
let f = () => {
|
|
6338
6336
|
let e = t.createElement("span");
|
|
@@ -6414,7 +6412,7 @@ function Jd(e) {
|
|
|
6414
6412
|
let p = n.querySelector("[aria-label=\"Remove preview\"]");
|
|
6415
6413
|
p && (p.disabled = a.length <= 1);
|
|
6416
6414
|
}
|
|
6417
|
-
n.dispatchEvent(new CustomEvent("mesurer:responsive-stage-change"));
|
|
6415
|
+
l.disabled = a.length >= Id, n.dispatchEvent(new CustomEvent("mesurer:responsive-stage-change"));
|
|
6418
6416
|
}, I = (t) => {
|
|
6419
6417
|
if (a.length <= 1) return;
|
|
6420
6418
|
let r = _.get(t);
|
|
@@ -6461,19 +6459,25 @@ function Jd(e) {
|
|
|
6461
6459
|
let c = t.createElement("span");
|
|
6462
6460
|
c.textContent = r.name, Gd(c, {
|
|
6463
6461
|
flex: "1",
|
|
6462
|
+
minWidth: "0",
|
|
6464
6463
|
overflow: "hidden",
|
|
6465
6464
|
whiteSpace: "nowrap",
|
|
6466
6465
|
textOverflow: "ellipsis",
|
|
6467
6466
|
paddingLeft: "4px"
|
|
6468
6467
|
});
|
|
6469
6468
|
let l = t.createElement("span");
|
|
6470
|
-
l.dataset.responsiveDimensions = "", l
|
|
6469
|
+
l.dataset.responsiveDimensions = "", Gd(l, {
|
|
6470
|
+
flexShrink: "0",
|
|
6471
|
+
whiteSpace: "nowrap",
|
|
6472
|
+
fontSize: "9px",
|
|
6473
|
+
color: "var(--msr-color-ink-500, #737373)"
|
|
6474
|
+
}), l.textContent = `${r.width} × ${r.height}`;
|
|
6471
6475
|
let u = t.createElement("input");
|
|
6472
6476
|
u.type = "number", u.min = String(Ld), u.max = String(Rd), u.value = String(r.width), u.setAttribute("aria-label", "Width"), u.dataset.responsiveWidth = "";
|
|
6473
6477
|
let d = t.createElement("input");
|
|
6474
6478
|
d.type = "number", d.min = String(Ld), d.max = String(Rd), d.value = String(r.height), d.setAttribute("aria-label", "Height"), d.dataset.responsiveHeight = "";
|
|
6475
6479
|
for (let e of [u, d]) Gd(e, {
|
|
6476
|
-
width: "
|
|
6480
|
+
width: "34px",
|
|
6477
6481
|
height: "24px",
|
|
6478
6482
|
boxSizing: "border-box",
|
|
6479
6483
|
border: "1px solid var(--msr-color-ink-200, #ddd)",
|
|
@@ -6481,19 +6485,45 @@ function Jd(e) {
|
|
|
6481
6485
|
background: "var(--msr-surface-raised, #fff)",
|
|
6482
6486
|
color: "inherit",
|
|
6483
6487
|
font: "inherit",
|
|
6484
|
-
padding: "2px
|
|
6488
|
+
padding: "2px 2px"
|
|
6485
6489
|
});
|
|
6486
|
-
let f = ()
|
|
6487
|
-
|
|
6490
|
+
let f = t.createElement("select");
|
|
6491
|
+
f.setAttribute("aria-label", "Size"), Gd(f, {
|
|
6492
|
+
width: "60px",
|
|
6493
|
+
minWidth: "56px",
|
|
6494
|
+
height: "24px",
|
|
6495
|
+
border: "0",
|
|
6496
|
+
borderRadius: "4px",
|
|
6497
|
+
color: "inherit",
|
|
6498
|
+
background: "transparent",
|
|
6499
|
+
font: "inherit"
|
|
6500
|
+
}), f.add(new Option("Custom", ""));
|
|
6501
|
+
for (let e of [...Fd, ...Kd(t).map((e) => ({
|
|
6502
|
+
name: `${Wd(e)}px breakpoint`,
|
|
6503
|
+
width: Wd(e),
|
|
6504
|
+
height: r.height
|
|
6505
|
+
}))]) f.add(new Option(e.name, `${e.width}x${e.height}`));
|
|
6506
|
+
let p = () => {
|
|
6507
|
+
let e = Fd.find((e) => e.width === r.width && e.height === r.height), t = [...f.options].find((e) => e.textContent?.includes("breakpoint") && Number(e.value.split("x")[0]) === r.width);
|
|
6508
|
+
f.value = e ? `${e.width}x${e.height}` : t?.value ?? "";
|
|
6509
|
+
};
|
|
6510
|
+
p(), f.addEventListener("change", () => {
|
|
6511
|
+
let e = f.selectedOptions[0];
|
|
6512
|
+
if (!e?.value) return;
|
|
6513
|
+
let [t, n] = e.value.split("x").map(Number), a = e.textContent?.includes("breakpoint") ?? !1;
|
|
6514
|
+
r.width = Wd(t), a || (r.height = Wd(n)), r.name = a ? `${r.width}px breakpoint` : Fd.find((e) => e.width === r.width && e.height === r.height)?.name ?? "Custom", c.textContent = r.name, i.setAttribute("aria-label", `${r.name}, ${r.width} × ${r.height}`), P(), F();
|
|
6515
|
+
});
|
|
6516
|
+
let m = () => {
|
|
6517
|
+
r.width = Wd(Number(u.value)), r.height = Wd(Number(d.value)), r.name = Fd.find((e) => e.width === r.width && e.height === r.height)?.name ?? "Custom", u.value = String(r.width), d.value = String(r.height), c.textContent = r.name, i.setAttribute("aria-label", `${r.name}, ${r.width} × ${r.height}`), p(), P(), F();
|
|
6488
6518
|
};
|
|
6489
|
-
u.addEventListener("change",
|
|
6490
|
-
let
|
|
6491
|
-
Gd(
|
|
6519
|
+
u.addEventListener("change", m), d.addEventListener("change", m);
|
|
6520
|
+
let h = qd(t, "Drag preview to reorder", "⠿", () => void 0);
|
|
6521
|
+
Gd(h, {
|
|
6492
6522
|
cursor: "grab",
|
|
6493
6523
|
touchAction: "none"
|
|
6494
|
-
}),
|
|
6524
|
+
}), h.addEventListener("pointerdown", (e) => {
|
|
6495
6525
|
if (e.button !== 0) return;
|
|
6496
|
-
e.preventDefault(), e.stopPropagation(),
|
|
6526
|
+
e.preventDefault(), e.stopPropagation(), h.setPointerCapture(e.pointerId);
|
|
6497
6527
|
let t = (e) => {
|
|
6498
6528
|
let t = [...v.entries()].filter(([e]) => e !== r.id).filter(([, t]) => {
|
|
6499
6529
|
let n = t.getBoundingClientRect();
|
|
@@ -6501,40 +6531,40 @@ function Jd(e) {
|
|
|
6501
6531
|
}).length;
|
|
6502
6532
|
z(r.id, t);
|
|
6503
6533
|
}, n = () => {
|
|
6504
|
-
|
|
6534
|
+
h.removeEventListener("pointermove", t), h.removeEventListener("pointerup", n), h.removeEventListener("pointercancel", n);
|
|
6505
6535
|
};
|
|
6506
|
-
|
|
6536
|
+
h.addEventListener("pointermove", t), h.addEventListener("pointerup", n), h.addEventListener("pointercancel", n);
|
|
6507
6537
|
});
|
|
6508
|
-
let
|
|
6509
|
-
|
|
6538
|
+
let g = qd(t, "Move preview left", "←", () => R(r.id, -1)), k = qd(t, "Move preview right", "→", () => R(r.id, 1));
|
|
6539
|
+
g.addEventListener("keydown", (e) => {
|
|
6510
6540
|
e.key === "ArrowLeft" && R(r.id, -1);
|
|
6511
|
-
}),
|
|
6541
|
+
}), k.addEventListener("keydown", (e) => {
|
|
6512
6542
|
e.key === "ArrowRight" && R(r.id, 1);
|
|
6513
6543
|
});
|
|
6514
|
-
let
|
|
6515
|
-
|
|
6516
|
-
let
|
|
6517
|
-
|
|
6544
|
+
let A = qd(t, "Remove preview", "×", () => I(r.id));
|
|
6545
|
+
A.disabled = a.length <= 1;
|
|
6546
|
+
let j = t.createElement("div");
|
|
6547
|
+
j.dataset.mesurerResponsiveShell = "", j.dataset.mesurerResponsiveCard = "true", Gd(j, {
|
|
6518
6548
|
position: "relative",
|
|
6519
6549
|
borderRadius: "8px",
|
|
6520
6550
|
overflow: "hidden",
|
|
6521
6551
|
boxShadow: "var(--msr-shadow-floating)",
|
|
6522
6552
|
background: "white"
|
|
6523
6553
|
});
|
|
6524
|
-
let
|
|
6525
|
-
|
|
6554
|
+
let M = t.createElement("div");
|
|
6555
|
+
M.dataset.mesurerResponsiveFrameWrap = "", Gd(M, {
|
|
6526
6556
|
position: "relative",
|
|
6527
6557
|
overflow: "hidden"
|
|
6528
6558
|
});
|
|
6529
|
-
let
|
|
6530
|
-
|
|
6559
|
+
let L = t.createElement("iframe");
|
|
6560
|
+
L.dataset.mesurerResponsiveFrame = "true", L.dataset.mesurerResponsivePreviewId = String(r.id), L.title = `${r.name} preview`, L.setAttribute("sandbox", kl), L.src = n.location.href, Gd(L, {
|
|
6531
6561
|
display: "block",
|
|
6532
6562
|
border: "0",
|
|
6533
6563
|
transformOrigin: "top left",
|
|
6534
6564
|
background: "white"
|
|
6535
6565
|
});
|
|
6536
|
-
let
|
|
6537
|
-
|
|
6566
|
+
let B = t.createElement("div");
|
|
6567
|
+
B.setAttribute("role", "status"), B.textContent = "Loading preview…", Gd(B, {
|
|
6538
6568
|
position: "absolute",
|
|
6539
6569
|
inset: "0",
|
|
6540
6570
|
zIndex: "2",
|
|
@@ -6547,31 +6577,36 @@ function Jd(e) {
|
|
|
6547
6577
|
textAlign: "center",
|
|
6548
6578
|
pointerEvents: "none"
|
|
6549
6579
|
});
|
|
6550
|
-
let
|
|
6580
|
+
let V = () => {
|
|
6551
6581
|
try {
|
|
6552
|
-
let e =
|
|
6582
|
+
let e = L.contentDocument, t = b.get(r.id), n = w.get(r.id), i = S.get(r.id), a = C.get(r.id);
|
|
6553
6583
|
e && t && e.removeEventListener("keydown", t, !0), e && n && e.removeEventListener("keyup", n, !0), e && i && e.removeEventListener("wheel", i), e && a && e.removeEventListener("pointerdown", a, !0);
|
|
6554
6584
|
} catch {}
|
|
6555
6585
|
T.get(r.id)?.dispose(), T.delete(r.id), D.get(r.id)?.disconnect(), D.delete(r.id), E.get(r.id)?.remove(), E.delete(r.id);
|
|
6556
6586
|
try {
|
|
6557
|
-
let i =
|
|
6587
|
+
let i = L.contentWindow, a = L.contentDocument;
|
|
6558
6588
|
if (!i || !a?.documentElement || i.location.origin !== n.location.origin || i.location.href === "about:blank") throw Error("unavailable");
|
|
6559
6589
|
y.get(r.id)?.(), y.set(r.id, Al(i));
|
|
6560
|
-
let s = (
|
|
6561
|
-
if (
|
|
6590
|
+
let s = (a) => {
|
|
6591
|
+
if (a.key === "Alt") {
|
|
6562
6592
|
n.dispatchEvent(new CustomEvent("mesurer:responsive-guide-alt", { detail: !0 }));
|
|
6563
6593
|
return;
|
|
6564
6594
|
}
|
|
6565
|
-
if (!(
|
|
6566
|
-
if (
|
|
6567
|
-
|
|
6595
|
+
if (!(a.metaKey || a.ctrlKey || a.altKey)) {
|
|
6596
|
+
if (a.key === "Escape") {
|
|
6597
|
+
if (zl(a, i)) return;
|
|
6598
|
+
a.preventDefault(), a.stopImmediatePropagation(), t.dispatchEvent(new KeyboardEvent("keydown", {
|
|
6599
|
+
key: "Escape",
|
|
6600
|
+
bubbles: !0,
|
|
6601
|
+
cancelable: !0
|
|
6602
|
+
}));
|
|
6568
6603
|
return;
|
|
6569
6604
|
}
|
|
6570
|
-
if ((
|
|
6571
|
-
n.dispatchEvent(new CustomEvent("mesurer:responsive-delete-selected-guides", { detail: r.id })),
|
|
6605
|
+
if ((a.key === "Delete" || a.key === "Backspace") && e.guidesActive() && !zl(a, i)) {
|
|
6606
|
+
n.dispatchEvent(new CustomEvent("mesurer:responsive-delete-selected-guides", { detail: r.id })), a.preventDefault(), a.stopImmediatePropagation();
|
|
6572
6607
|
return;
|
|
6573
6608
|
}
|
|
6574
|
-
|
|
6609
|
+
a.key.toLowerCase() !== "b" || !e.shortcutsEnabled || zl(a, i) || (a.preventDefault(), a.stopImmediatePropagation(), a.repeat || e.onClose());
|
|
6575
6610
|
}
|
|
6576
6611
|
};
|
|
6577
6612
|
b.set(r.id, s), a.addEventListener("keydown", s, !0);
|
|
@@ -6579,15 +6614,15 @@ function Jd(e) {
|
|
|
6579
6614
|
e.key === "Alt" && n.dispatchEvent(new CustomEvent("mesurer:responsive-guide-alt", { detail: !1 }));
|
|
6580
6615
|
};
|
|
6581
6616
|
w.set(r.id, c), a.addEventListener("keyup", c, !0);
|
|
6582
|
-
let l = (e) => ee(e,
|
|
6617
|
+
let l = (e) => ee(e, L), u = () => {
|
|
6583
6618
|
O = r.id, n.dispatchEvent(new CustomEvent("mesurer:responsive-frame-pointerdown"));
|
|
6584
6619
|
};
|
|
6585
|
-
S.set(r.id, l), C.set(r.id, u), a.addEventListener("wheel", l, { passive: !1 }), a.addEventListener("pointerdown", u, !0),
|
|
6620
|
+
S.set(r.id, l), C.set(r.id, u), a.addEventListener("wheel", l, { passive: !1 }), a.addEventListener("pointerdown", u, !0), B.style.display = "none";
|
|
6586
6621
|
let d = Pd({
|
|
6587
6622
|
document: t,
|
|
6588
|
-
frame:
|
|
6623
|
+
frame: L,
|
|
6589
6624
|
previewId: r.id,
|
|
6590
|
-
parent:
|
|
6625
|
+
parent: M,
|
|
6591
6626
|
size: () => ({
|
|
6592
6627
|
width: r.width,
|
|
6593
6628
|
height: r.height
|
|
@@ -6620,7 +6655,7 @@ function Jd(e) {
|
|
|
6620
6655
|
transform: `scale(${o ?? N})`,
|
|
6621
6656
|
transformOrigin: "top left",
|
|
6622
6657
|
zIndex: "3"
|
|
6623
|
-
}),
|
|
6658
|
+
}), M.append(n), E.set(r.id, n);
|
|
6624
6659
|
};
|
|
6625
6660
|
f();
|
|
6626
6661
|
let p = e.host.querySelector("[data-mesurer-layout-guides-root]"), m = new MutationObserver(f);
|
|
@@ -6631,14 +6666,14 @@ function Jd(e) {
|
|
|
6631
6666
|
subtree: !0
|
|
6632
6667
|
}), D.set(r.id, m), n.dispatchEvent(new CustomEvent("mesurer:responsive-preview-ready"));
|
|
6633
6668
|
} catch {
|
|
6634
|
-
|
|
6669
|
+
B.textContent = "This page cannot be previewed in a same-origin frame.", B.dataset.mesurerResponsiveRefused = "true", B.style.display = "grid";
|
|
6635
6670
|
}
|
|
6636
6671
|
n.dispatchEvent(new CustomEvent("mesurer:responsive-stage-change"));
|
|
6637
6672
|
};
|
|
6638
|
-
x.set(r.id,
|
|
6673
|
+
x.set(r.id, V), L.addEventListener("load", V), L.addEventListener("pointerdown", () => n.dispatchEvent(new CustomEvent("mesurer:responsive-frame-pointerdown"))), M.append(L, B), j.append(M), s.append(h, g, k, c, f, l, u, t.createTextNode("×"), d, A), i.append(s, j), i.addEventListener("pointerdown", (e) => e.stopPropagation()), i.addEventListener("click", (e) => {
|
|
6639
6674
|
e.stopPropagation(), n.dispatchEvent(new CustomEvent("mesurer:responsive-frame-pointerdown"));
|
|
6640
6675
|
});
|
|
6641
|
-
let
|
|
6676
|
+
let H = (e, n) => {
|
|
6642
6677
|
let a = t.createElement("div");
|
|
6643
6678
|
a.setAttribute("role", "separator"), a.setAttribute("aria-label", n), a.tabIndex = 0, Gd(a, {
|
|
6644
6679
|
position: "absolute",
|
|
@@ -6667,11 +6702,11 @@ function Jd(e) {
|
|
|
6667
6702
|
let n = t.clientX, s = t.clientY, l = r.width, u = r.height, d = o ?? N;
|
|
6668
6703
|
a.setPointerCapture(t.pointerId);
|
|
6669
6704
|
let f = (t) => {
|
|
6670
|
-
e !== "height" && (r.width = Wd(l + (t.clientX - n) / d)), e !== "width" && (r.height = Wd(u + (t.clientY - s) / d)), r.name = Fd.find((e) => e.width === r.width && e.height === r.height)?.name ?? "Custom", c.textContent = r.name, i.setAttribute("aria-label", `${r.name}, ${r.width} × ${r.height}`), P(), F();
|
|
6671
|
-
},
|
|
6672
|
-
a.removeEventListener("pointermove", f), a.removeEventListener("pointerup",
|
|
6705
|
+
e !== "height" && (r.width = Wd(l + (t.clientX - n) / d)), e !== "width" && (r.height = Wd(u + (t.clientY - s) / d)), r.name = Fd.find((e) => e.width === r.width && e.height === r.height)?.name ?? "Custom", c.textContent = r.name, i.setAttribute("aria-label", `${r.name}, ${r.width} × ${r.height}`), p(), P(), F();
|
|
6706
|
+
}, m = () => {
|
|
6707
|
+
a.removeEventListener("pointermove", f), a.removeEventListener("pointerup", m), a.removeEventListener("pointercancel", m);
|
|
6673
6708
|
};
|
|
6674
|
-
a.addEventListener("pointermove", f), a.addEventListener("pointerup",
|
|
6709
|
+
a.addEventListener("pointermove", f), a.addEventListener("pointerup", m), a.addEventListener("pointercancel", m);
|
|
6675
6710
|
}), a.addEventListener("keydown", (t) => {
|
|
6676
6711
|
if (![
|
|
6677
6712
|
"ArrowLeft",
|
|
@@ -6681,10 +6716,10 @@ function Jd(e) {
|
|
|
6681
6716
|
].includes(t.key)) return;
|
|
6682
6717
|
t.preventDefault();
|
|
6683
6718
|
let n = t.shiftKey ? 10 : 1;
|
|
6684
|
-
e !== "height" && (t.key === "ArrowLeft" || t.key === "ArrowRight") && (r.width = Wd(r.width + (t.key === "ArrowRight" ? n : -n))), e !== "width" && (t.key === "ArrowUp" || t.key === "ArrowDown") && (r.height = Wd(r.height + (t.key === "ArrowDown" ? n : -n))), r.name = Fd.find((e) => e.width === r.width && e.height === r.height)?.name ?? "Custom", c.textContent = r.name, i.setAttribute("aria-label", `${r.name}, ${r.width} × ${r.height}`), P(), F();
|
|
6719
|
+
e !== "height" && (t.key === "ArrowLeft" || t.key === "ArrowRight") && (r.width = Wd(r.width + (t.key === "ArrowRight" ? n : -n))), e !== "width" && (t.key === "ArrowUp" || t.key === "ArrowDown") && (r.height = Wd(r.height + (t.key === "ArrowDown" ? n : -n))), r.name = Fd.find((e) => e.width === r.width && e.height === r.height)?.name ?? "Custom", c.textContent = r.name, i.setAttribute("aria-label", `${r.name}, ${r.width} × ${r.height}`), p(), P(), F();
|
|
6685
6720
|
}), i.append(a);
|
|
6686
6721
|
};
|
|
6687
|
-
return
|
|
6722
|
+
return H("width", "Resize width edge"), H("height", "Resize height edge"), H("both", "Resize width and height"), _.set(r.id, L), v.set(r.id, i), i;
|
|
6688
6723
|
}, R = (e, t) => {
|
|
6689
6724
|
let n = a.findIndex((t) => t.id === e), r = Math.max(0, Math.min(a.length - 1, n + t));
|
|
6690
6725
|
r !== n && z(e, r);
|
|
@@ -6825,7 +6860,7 @@ function df(e, t) {
|
|
|
6825
6860
|
let i = n.createElement("style");
|
|
6826
6861
|
i.id = cf, i.textContent = e, uf(r) ? r.head.append(i) : r.append(i);
|
|
6827
6862
|
}
|
|
6828
|
-
var ff = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:inset-x-0 {\n inset-inline: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-3 {\n top: calc(var(--msr-spacing) * 3);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-1\\.5 {\n right: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-3 {\n right: calc(var(--msr-spacing) * 3);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-1\\.5 {\n bottom: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[2\\] {\n z-index: 2;\n }\n .msr\\:z-\\[3\\] {\n z-index: 3;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:z-\\[110\\] {\n z-index: 110;\n }\n .msr\\:z-\\[120\\] {\n z-index: 120;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:col-end-3 {\n grid-column-end: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:ml-auto {\n margin-left: auto;\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-5 {\n width: calc(var(--msr-spacing) * 5);\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-2 {\n height: calc(var(--msr-spacing) * 2);\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-36 {\n height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:h-\\[3px\\] {\n height: 3px;\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-32 {\n max-height: calc(var(--msr-spacing) * 32);\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[50vh\\] {\n max-height: 50vh;\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:min-h-\\[34px\\] {\n min-height: 34px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-0\\.5 {\n width: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-8 {\n width: calc(var(--msr-spacing) * 8);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-64 {\n width: calc(var(--msr-spacing) * 64);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[208px\\] {\n width: 208px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[3\\.5rem_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 3.5rem minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[5\\.5rem_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 5.5rem minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[auto_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: auto minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-baseline {\n align-items: baseline;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-\\[2px\\] {\n gap: 2px;\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-center {\n align-self: center;\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[9px\\] {\n border-radius: 9px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-200 {\n background-color: var(--msr-color-ink-200);\n }\n .msr\\:bg-ink-900 {\n background-color: var(--msr-color-ink-900);\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:bg-white\\/85 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 85%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-\\[2px\\] {\n padding: 2px;\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-0\\.5 {\n padding-top: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-0 {\n padding-right: 0px;\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-1\\.5 {\n padding-bottom: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:text-right {\n text-align: right;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:text-\\[14px\\] {\n font-size: 14px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-5 {\n --tw-leading: calc(var(--msr-spacing) * 5);\n line-height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:break-words {\n overflow-wrap: break-word;\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:underline {\n text-decoration-line: underline;\n }\n .msr\\:underline-offset-2 {\n text-underline-offset: 2px;\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:bg-white:hover {\n background-color: var(--msr-color-white);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-black\\/4:focus-visible {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:ring-\\[var\\(--msr-accent\\)\\]\\/25:focus-visible {\n --tw-ring-color: var(--msr-accent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--msr-accent) 25%, transparent);\n }\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\n[data-mesurer-context-root=\"true\"] :where(*) {\n all: revert-layer;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n appearance: none !important;\n box-sizing: border-box !important;\n display: flex !important;\n width: 24px !important;\n height: 24px !important;\n min-width: 24px !important;\n min-height: 24px !important;\n max-width: 24px !important;\n max-height: 24px !important;\n margin: 0 !important;\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n border: 1px solid var(--msr-color-ink-200, #e2e8f0) !important;\n border-radius: 7px !important;\n background: var(--msr-surface, #fff) !important;\n color: var(--msr-content, #0f172a) !important;\n opacity: 1 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-trigger=\"true\"]:hover {\n background: var(--msr-content, #0f172a) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background: color-mix(in srgb, var(--msr-content, #0f172a) 6%, var(--msr-surface, #fff)) !important;\n }\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-trigger=\"true\"]:focus-visible {\n border-color: #0d99ff !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-marker=\"true\"] {\n appearance: none !important;\n box-sizing: border-box !important;\n display: flex !important;\n width: 24px !important;\n height: 24px !important;\n min-width: 24px !important;\n min-height: 24px !important;\n max-width: 24px !important;\n max-height: 24px !important;\n margin: 0 !important;\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n border: 0 !important;\n border-radius: 0 !important;\n background: transparent !important;\n}\n[data-mesurer-context-root=\"true\"] :is( [data-mesurer-annotation-composer=\"true\"], [data-mesurer-annotation-panel=\"true\"] ) {\n box-shadow: var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.08));\n}\n[data-mesurer-context-root=\"true\"] :is( [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-annotation-composer=\"true\"], [data-mesurer-annotation-panel=\"true\"] ) svg {\n display: block !important;\n width: 14px !important;\n height: 14px !important;\n min-width: 14px !important;\n min-height: 14px !important;\n visibility: visible !important;\n opacity: 1 !important;\n fill: currentColor !important;\n color: inherit !important;\n flex-shrink: 0 !important;\n}\n[data-mesurer-context-root=\"true\"] :is( [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-annotation-composer=\"true\"], [data-mesurer-annotation-panel=\"true\"] ) svg path {\n fill: currentColor !important;\n stroke: none !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-send=\"true\"] {\n appearance: none !important;\n box-sizing: border-box !important;\n display: flex !important;\n width: 24px !important;\n height: 24px !important;\n min-width: 24px !important;\n min-height: 24px !important;\n margin: 0 !important;\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n border: 0 !important;\n border-radius: 9999px !important;\n background: #0d99ff !important;\n color: #fff !important;\n opacity: 1 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-send=\"true\"]:disabled {\n opacity: 0.4 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-composer=\"true\"] .mesurer-send-icon {\n width: 16px !important;\n height: 16px !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-composer=\"true\"] .mesurer-send-icon path {\n fill: none !important;\n stroke: currentColor !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-composer=\"true\"] textarea {\n box-sizing: border-box !important;\n min-height: 34px !important;\n max-height: 128px !important;\n resize: none !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"], [data-mesurer-spacing-paint=\"true\"][data-mesurer-distance-active=\"true\"][data-mesurer-spacing-hover-axis] [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\n[data-mesurer-spacing-paint=\"true\"][data-mesurer-distance-active=\"true\"][data-mesurer-spacing-hover-axis=\"x\"] [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-spacing-paint=\"true\"][data-mesurer-distance-active=\"true\"][data-mesurer-spacing-hover-axis=\"y\"] [data-mesurer-distance-line^=\"horizontal\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-menu-surface, .mesurer-color-picker) {\n border-radius: 9px;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n.mesurer-toolbar-mode-switch[data-compact=\"true\"][data-value=\"select\"] [data-mesurer-toolbar-edit-control=\"true\"], .mesurer-toolbar-mode-switch[data-compact=\"true\"][data-value=\"edit\"] [data-mesurer-toolbar-mode-select-control=\"true\"], .mesurer-toolbar-mode-switch[data-compact=\"true\"] [data-mesurer-tool-menu-trigger] {\n display: none;\n}\n.mesurer-toolbar-mode-switch[data-compact=\"true\"][data-value=\"edit\"] .mesurer-toolbar-mode-switch-pill {\n transform: translateX(0);\n}\n.mesurer-toolbar-mode-switch {\n position: relative;\n z-index: 1;\n isolation: isolate;\n border-radius: 5px;\n background: transparent;\n}\n.mesurer-toolbar-mode-switch-pill {\n position: absolute;\n top: 2px;\n left: 2px;\n z-index: 0;\n width: 28px;\n height: 28px;\n border-radius: 3px;\n background: var(--msr-color-ink-200, #e2e8f0);\n transform: translateX(0);\n}\n.mesurer-toolbar-mode-switch[data-value=\"edit\"] .mesurer-toolbar-mode-switch-pill {\n transform: translateX(30px);\n}\n.mesurer-toolbar-mode-switch > :not(.mesurer-toolbar-mode-switch-pill) {\n position: relative;\n z-index: 1;\n}\n.mesurer-toolbar-mode-button {\n display: flex;\n width: 28px;\n height: 28px;\n align-items: center;\n justify-content: center;\n border-radius: 3px;\n color: var(--msr-color-ink-700, #334155);\n outline: none;\n}\n.mesurer-toolbar-mode-button[aria-pressed=\"true\"] {\n color: var(--msr-color-ink-900, #18181b);\n}\n.mesurer-toolbar-mode-button[aria-pressed=\"false\"]:not(:disabled):hover {\n background: var(--msr-color-ink-200, #e2e8f0);\n @supports (color: color-mix(in lab, red, red)) {\n background: color-mix(in srgb, var(--msr-color-ink-200, #e2e8f0) 50%, transparent);\n }\n}\n.mesurer-toolbar-mode-button:focus-visible {\n outline: 1px solid var(--msr-color-ink-500, #64748b);\n outline-offset: 1px;\n}\n.mesurer-toolbar-mode-button:disabled {\n cursor: default;\n opacity: 0.35;\n}\n.mesurer-toolbar-mode-stage {\n --msr-select-mode-w: 0px;\n --msr-edit-mode-w: 0px;\n position: relative;\n flex: none;\n width: var(--msr-select-mode-w);\n overflow: visible;\n}\n.mesurer-toolbar-mode-stage[data-mode=\"edit\"] {\n width: var(--msr-edit-mode-w);\n}\n.mesurer-toolbar-mode-track {\n display: flex;\n width: max-content;\n align-items: stretch;\n transform: translateX(0);\n}\n.mesurer-toolbar-mode-stage[data-mode=\"edit\"] .mesurer-toolbar-mode-track {\n transform: translateX(calc(-1 * var(--msr-select-mode-w)));\n}\n.mesurer-toolbar-mode-slot {\n flex: none;\n width: var(--msr-select-mode-w);\n}\n.mesurer-toolbar-mode-slot[data-mode=\"edit\"] {\n width: var(--msr-edit-mode-w);\n}\n.mesurer-toolbar-mode-panel {\n display: flex;\n width: max-content;\n align-items: stretch;\n}\n.mesurer-toolbar-mode-slot[data-open=\"false\"] {\n visibility: hidden;\n pointer-events: none;\n}\n.mesurer-toolbar-mode-stage[data-mode-motion=\"true\"] {\n overflow: hidden;\n}\n.mesurer-toolbar-mode-stage[data-mode-motion=\"true\"] .mesurer-toolbar-mode-slot[data-open=\"false\"] {\n visibility: visible;\n}\n.mesurer-toolbar-mode-stage:has( .mesurer-toolbar-mode-slot[data-open=\"true\"] [role=\"menu\"], .mesurer-toolbar-mode-slot[data-open=\"true\"] [role=\"dialog\"] ) {\n overflow: visible;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"], .mesurer-toolbar-mode-stage[data-ready=\"true\"] .mesurer-toolbar-mode-track {\n transition-duration: 150ms;\n transition-timing-function: ease;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"] {\n transition-property: width;\n}\n.mesurer-toolbar-mode-stage[data-compact-motion=\"true\"] {\n transition-property: none;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"] .mesurer-toolbar-mode-track {\n transition-property: transform;\n}\n.mesurer-toolbar-mode-switch {\n --msr-toolbar-mode-motion: 150ms ease;\n}\n.mesurer-toolbar-mode-switch-pill {\n transition: transform var(--msr-toolbar-mode-motion);\n}\n@media (prefers-reduced-motion: reduce) {\n .mesurer-toolbar-mode-stage, .mesurer-toolbar-mode-track, .mesurer-toolbar-mode-switch-pill {\n transition: none !important;\n }\n}\n[data-mesurer-root=\"true\"][data-mesurer-recording-active] [data-mesurer-motion-surface=\"true\"] {\n display: none !important;\n}\n.mesurer-toolbar-zone {\n position: fixed;\n pointer-events: none;\n border-radius: 9px;\n box-sizing: border-box;\n border: 1px dashed rgb(15 15 20 / 6%);\n outline: 1px dashed rgb(255 255 255 / 7%);\n outline-offset: -2px;\n background: rgb(15 15 20 / 1%);\n animation: mesurer-toolbar-zone-in 180ms ease-out both;\n}\n.mesurer-toolbar-zone[data-active=\"true\"] {\n border-color: rgb(15 15 20 / 14%);\n background: rgb(15 15 20 / 3.5%);\n}\n@keyframes mesurer-toolbar-zone-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] {\n flex-direction: column;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] > div:not([role=\"dialog\"]), [data-mesurer-toolbar][data-orientation=\"vertical\"] [role=\"group\"], [data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-panel, [data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-track, [data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-compact-item] {\n flex-direction: column;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [role=\"group\"] {\n padding: 2px 4px;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-compact-item] {\n max-width: none;\n padding: 2px 0;\n transition-property: max-height, opacity, transform, padding;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-compact-item][data-visible=\"false\"] {\n max-height: 0;\n padding: 0;\n transform: translateY(-4px);\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-compact-item][data-visible=\"true\"] {\n max-height: 80px;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-divider] {\n width: auto;\n height: 1px;\n transition-property: height, opacity;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-divider].msr\\:opacity-0 {\n height: 0;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-stage, [data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-slot {\n width: auto;\n height: var(--msr-select-mode-h, auto);\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-stage[data-mode=\"edit\"], [data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-slot[data-mode=\"edit\"] {\n height: var(--msr-edit-mode-h, auto);\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-stage {\n transition-property: height;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-track {\n width: auto;\n height: max-content;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-panel {\n width: auto;\n height: max-content;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-stage[data-mode=\"edit\"] .mesurer-toolbar-mode-track {\n transform: translateY(calc(-1 * var(--msr-select-mode-h)));\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-switch[data-value=\"edit\"] .mesurer-toolbar-mode-switch-pill {\n transform: translateY(30px);\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-switch[data-compact=\"true\"] .mesurer-toolbar-mode-switch-pill {\n transform: none;\n}\n[data-mesurer-toolbar][data-dock-edge] {\n transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);\n}\n[data-mesurer-toolbar][data-tucked=\"true\"]:is(:not(:hover), [data-tuck-locked=\"true\"])[data-dock-edge=\"top\"] {\n transform: translateX(var(--msr-tuck-safe-offset, 0px)) translateY(calc(-100% - 10px));\n}\n[data-mesurer-toolbar][data-tucked=\"true\"]:is(:not(:hover), [data-tuck-locked=\"true\"])[data-dock-edge=\"bottom\"] {\n transform: translateY(calc(100% + 10px));\n}\n[data-mesurer-toolbar][data-tucked=\"true\"]:is(:not(:hover), [data-tuck-locked=\"true\"])[data-dock-edge=\"left\"] {\n transform: translateX(calc(-100% - 10px));\n}\n[data-mesurer-toolbar][data-tucked=\"true\"]:is(:not(:hover), [data-tuck-locked=\"true\"])[data-dock-edge=\"right\"] {\n transform: translateX(calc(100% + 10px));\n}\n[data-mesurer-toolbar] [role=\"tooltip\"][data-tooltip-side=\"left\"], [data-mesurer-toolbar] [role=\"tooltip\"][data-tooltip-side=\"right\"] {\n top: 50%;\n bottom: auto;\n margin: 0;\n translate: none;\n transform: translateY(-50%);\n}\n[data-mesurer-toolbar] [role=\"tooltip\"][data-tooltip-side=\"left\"] {\n left: auto;\n right: calc(100% + 14px);\n}\n[data-mesurer-toolbar] [role=\"tooltip\"][data-tooltip-side=\"right\"] {\n left: calc(100% + 14px);\n right: auto;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar][data-dock-edge] {\n transition: none !important;\n }\n .mesurer-toolbar-zone {\n animation: none;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", pf = {
|
|
6863
|
+
var ff = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:inset-x-0 {\n inset-inline: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-3 {\n top: calc(var(--msr-spacing) * 3);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-1\\.5 {\n right: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-3 {\n right: calc(var(--msr-spacing) * 3);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-1\\.5 {\n bottom: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[2\\] {\n z-index: 2;\n }\n .msr\\:z-\\[3\\] {\n z-index: 3;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[85\\] {\n z-index: 85;\n }\n .msr\\:z-\\[86\\] {\n z-index: 86;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:z-\\[110\\] {\n z-index: 110;\n }\n .msr\\:z-\\[120\\] {\n z-index: 120;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:col-end-3 {\n grid-column-end: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:ml-auto {\n margin-left: auto;\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-5 {\n width: calc(var(--msr-spacing) * 5);\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-2 {\n height: calc(var(--msr-spacing) * 2);\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-36 {\n height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:h-\\[3px\\] {\n height: 3px;\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-32 {\n max-height: calc(var(--msr-spacing) * 32);\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[50vh\\] {\n max-height: 50vh;\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:min-h-\\[34px\\] {\n min-height: 34px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-0\\.5 {\n width: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-8 {\n width: calc(var(--msr-spacing) * 8);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-64 {\n width: calc(var(--msr-spacing) * 64);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[208px\\] {\n width: 208px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[3\\.5rem_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 3.5rem minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[5\\.5rem_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 5.5rem minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[auto_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: auto minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-baseline {\n align-items: baseline;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-\\[2px\\] {\n gap: 2px;\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-center {\n align-self: center;\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[9px\\] {\n border-radius: 9px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-200 {\n background-color: var(--msr-color-ink-200);\n }\n .msr\\:bg-ink-900 {\n background-color: var(--msr-color-ink-900);\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:bg-white\\/85 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 85%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-\\[2px\\] {\n padding: 2px;\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-0\\.5 {\n padding-top: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-0 {\n padding-right: 0px;\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-1\\.5 {\n padding-bottom: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:text-right {\n text-align: right;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:text-\\[14px\\] {\n font-size: 14px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-5 {\n --tw-leading: calc(var(--msr-spacing) * 5);\n line-height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:break-words {\n overflow-wrap: break-word;\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:underline {\n text-decoration-line: underline;\n }\n .msr\\:underline-offset-2 {\n text-underline-offset: 2px;\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:bg-white:hover {\n background-color: var(--msr-color-white);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-black\\/4:focus-visible {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:ring-\\[var\\(--msr-accent\\)\\]\\/25:focus-visible {\n --tw-ring-color: var(--msr-accent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--msr-accent) 25%, transparent);\n }\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\n[data-mesurer-context-root=\"true\"] :where(*) {\n all: revert-layer;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n appearance: none !important;\n box-sizing: border-box !important;\n display: flex !important;\n width: 24px !important;\n height: 24px !important;\n min-width: 24px !important;\n min-height: 24px !important;\n max-width: 24px !important;\n max-height: 24px !important;\n margin: 0 !important;\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n border: 1px solid var(--msr-color-ink-200, #e2e8f0) !important;\n border-radius: 7px !important;\n background: var(--msr-surface, #fff) !important;\n color: var(--msr-content, #0f172a) !important;\n opacity: 1 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-trigger=\"true\"]:hover {\n background: var(--msr-content, #0f172a) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background: color-mix(in srgb, var(--msr-content, #0f172a) 6%, var(--msr-surface, #fff)) !important;\n }\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-trigger=\"true\"]:focus-visible {\n border-color: #0d99ff !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-marker=\"true\"] {\n appearance: none !important;\n box-sizing: border-box !important;\n display: flex !important;\n width: 24px !important;\n height: 24px !important;\n min-width: 24px !important;\n min-height: 24px !important;\n max-width: 24px !important;\n max-height: 24px !important;\n margin: 0 !important;\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n border: 0 !important;\n border-radius: 0 !important;\n background: transparent !important;\n}\n[data-mesurer-context-root=\"true\"] :is( [data-mesurer-annotation-composer=\"true\"], [data-mesurer-annotation-panel=\"true\"] ) {\n box-shadow: var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.08));\n}\n[data-mesurer-context-root=\"true\"] :is( [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-annotation-composer=\"true\"], [data-mesurer-annotation-panel=\"true\"] ) svg {\n display: block !important;\n width: 14px !important;\n height: 14px !important;\n min-width: 14px !important;\n min-height: 14px !important;\n visibility: visible !important;\n opacity: 1 !important;\n fill: currentColor !important;\n color: inherit !important;\n flex-shrink: 0 !important;\n}\n[data-mesurer-context-root=\"true\"] :is( [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-annotation-composer=\"true\"], [data-mesurer-annotation-panel=\"true\"] ) svg path {\n fill: currentColor !important;\n stroke: none !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-send=\"true\"] {\n appearance: none !important;\n box-sizing: border-box !important;\n display: flex !important;\n width: 24px !important;\n height: 24px !important;\n min-width: 24px !important;\n min-height: 24px !important;\n margin: 0 !important;\n padding: 0 !important;\n align-items: center !important;\n justify-content: center !important;\n border: 0 !important;\n border-radius: 9999px !important;\n background: #0d99ff !important;\n color: #fff !important;\n opacity: 1 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-send=\"true\"]:disabled {\n opacity: 0.4 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-composer=\"true\"] .mesurer-send-icon {\n width: 16px !important;\n height: 16px !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-composer=\"true\"] .mesurer-send-icon path {\n fill: none !important;\n stroke: currentColor !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-composer=\"true\"] textarea {\n box-sizing: border-box !important;\n min-height: 34px !important;\n max-height: 128px !important;\n resize: none !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"], [data-mesurer-spacing-paint=\"true\"][data-mesurer-distance-active=\"true\"][data-mesurer-spacing-hover-axis] [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\n[data-mesurer-spacing-paint=\"true\"][data-mesurer-distance-active=\"true\"][data-mesurer-spacing-hover-axis=\"x\"] [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-spacing-paint=\"true\"][data-mesurer-distance-active=\"true\"][data-mesurer-spacing-hover-axis=\"y\"] [data-mesurer-distance-line^=\"horizontal\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-menu-surface, .mesurer-color-picker) {\n border-radius: 9px;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n.mesurer-toolbar-mode-switch[data-compact=\"true\"][data-value=\"select\"] [data-mesurer-toolbar-edit-control=\"true\"], .mesurer-toolbar-mode-switch[data-compact=\"true\"][data-value=\"edit\"] [data-mesurer-toolbar-mode-select-control=\"true\"], .mesurer-toolbar-mode-switch[data-compact=\"true\"] [data-mesurer-tool-menu-trigger] {\n display: none;\n}\n.mesurer-toolbar-mode-switch[data-compact=\"true\"][data-value=\"edit\"] .mesurer-toolbar-mode-switch-pill {\n transform: translateX(0);\n}\n.mesurer-toolbar-mode-switch {\n position: relative;\n z-index: 1;\n isolation: isolate;\n border-radius: 5px;\n background: transparent;\n}\n.mesurer-toolbar-mode-switch-pill {\n position: absolute;\n top: 2px;\n left: 2px;\n z-index: 0;\n width: 28px;\n height: 28px;\n border-radius: 3px;\n background: var(--msr-color-ink-200, #e2e8f0);\n transform: translateX(0);\n}\n.mesurer-toolbar-mode-switch[data-value=\"edit\"] .mesurer-toolbar-mode-switch-pill {\n transform: translateX(30px);\n}\n.mesurer-toolbar-mode-switch > :not(.mesurer-toolbar-mode-switch-pill) {\n position: relative;\n z-index: 1;\n}\n.mesurer-toolbar-mode-button {\n display: flex;\n width: 28px;\n height: 28px;\n align-items: center;\n justify-content: center;\n border-radius: 3px;\n color: var(--msr-color-ink-700, #334155);\n outline: none;\n}\n.mesurer-toolbar-mode-button[aria-pressed=\"true\"] {\n color: var(--msr-color-ink-900, #18181b);\n}\n.mesurer-toolbar-mode-button[aria-pressed=\"false\"]:not(:disabled):hover {\n background: var(--msr-color-ink-200, #e2e8f0);\n @supports (color: color-mix(in lab, red, red)) {\n background: color-mix(in srgb, var(--msr-color-ink-200, #e2e8f0) 50%, transparent);\n }\n}\n.mesurer-toolbar-mode-button:focus-visible {\n outline: 1px solid var(--msr-color-ink-500, #64748b);\n outline-offset: 1px;\n}\n.mesurer-toolbar-mode-button:disabled {\n cursor: default;\n opacity: 0.35;\n}\n.mesurer-toolbar-mode-stage {\n --msr-select-mode-w: 0px;\n --msr-edit-mode-w: 0px;\n position: relative;\n flex: none;\n width: var(--msr-select-mode-w);\n overflow: visible;\n}\n.mesurer-toolbar-mode-stage[data-mode=\"edit\"] {\n width: var(--msr-edit-mode-w);\n}\n.mesurer-toolbar-mode-track {\n display: flex;\n width: max-content;\n align-items: stretch;\n transform: translateX(0);\n}\n.mesurer-toolbar-mode-stage[data-mode=\"edit\"] .mesurer-toolbar-mode-track {\n transform: translateX(calc(-1 * var(--msr-select-mode-w)));\n}\n.mesurer-toolbar-mode-slot {\n flex: none;\n width: var(--msr-select-mode-w);\n}\n.mesurer-toolbar-mode-slot[data-mode=\"edit\"] {\n width: var(--msr-edit-mode-w);\n}\n.mesurer-toolbar-mode-panel {\n display: flex;\n width: max-content;\n align-items: stretch;\n}\n.mesurer-toolbar-mode-slot[data-open=\"false\"] {\n visibility: hidden;\n pointer-events: none;\n}\n.mesurer-toolbar-mode-stage[data-mode-motion=\"true\"] {\n overflow: hidden;\n}\n.mesurer-toolbar-mode-stage[data-mode-motion=\"true\"] .mesurer-toolbar-mode-slot[data-open=\"false\"] {\n visibility: visible;\n}\n.mesurer-toolbar-mode-stage:has( .mesurer-toolbar-mode-slot[data-open=\"true\"] [role=\"menu\"], .mesurer-toolbar-mode-slot[data-open=\"true\"] [role=\"dialog\"] ) {\n overflow: visible;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"], .mesurer-toolbar-mode-stage[data-ready=\"true\"] .mesurer-toolbar-mode-track {\n transition-duration: 150ms;\n transition-timing-function: ease;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"] {\n transition-property: width;\n}\n.mesurer-toolbar-mode-stage[data-compact-motion=\"true\"] {\n transition-property: none;\n}\n.mesurer-toolbar-mode-stage[data-ready=\"true\"] .mesurer-toolbar-mode-track {\n transition-property: transform;\n}\n.mesurer-toolbar-mode-switch {\n --msr-toolbar-mode-motion: 150ms ease;\n}\n.mesurer-toolbar-mode-switch-pill {\n transition: transform var(--msr-toolbar-mode-motion);\n}\n@media (prefers-reduced-motion: reduce) {\n .mesurer-toolbar-mode-stage, .mesurer-toolbar-mode-track, .mesurer-toolbar-mode-switch-pill {\n transition: none !important;\n }\n}\n[data-mesurer-root=\"true\"][data-mesurer-recording-active] [data-mesurer-motion-surface=\"true\"] {\n display: none !important;\n}\n.mesurer-toolbar-zone {\n position: fixed;\n pointer-events: none;\n border-radius: 9px;\n box-sizing: border-box;\n border: 1px dashed rgb(15 15 20 / 6%);\n outline: 1px dashed rgb(255 255 255 / 7%);\n outline-offset: -2px;\n background: rgb(15 15 20 / 1%);\n animation: mesurer-toolbar-zone-in 180ms ease-out both;\n}\n.mesurer-toolbar-zone[data-active=\"true\"] {\n border-color: rgb(15 15 20 / 14%);\n background: rgb(15 15 20 / 3.5%);\n}\n@keyframes mesurer-toolbar-zone-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] {\n flex-direction: column;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] > div:not([role=\"dialog\"]), [data-mesurer-toolbar][data-orientation=\"vertical\"] [role=\"group\"], [data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-panel, [data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-track, [data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-compact-item] {\n flex-direction: column;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [role=\"group\"] {\n padding: 2px 4px;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-compact-item] {\n max-width: none;\n padding: 2px 0;\n transition-property: max-height, opacity, transform, padding;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-compact-item][data-visible=\"false\"] {\n max-height: 0;\n padding: 0;\n transform: translateY(-4px);\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-compact-item][data-visible=\"true\"] {\n max-height: 80px;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-divider] {\n width: auto;\n height: 1px;\n transition-property: height, opacity;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] [data-mesurer-toolbar-divider].msr\\:opacity-0 {\n height: 0;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-stage, [data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-slot {\n width: auto;\n height: var(--msr-select-mode-h, auto);\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-stage[data-mode=\"edit\"], [data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-slot[data-mode=\"edit\"] {\n height: var(--msr-edit-mode-h, auto);\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-stage {\n transition-property: height;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-track {\n width: auto;\n height: max-content;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-panel {\n width: auto;\n height: max-content;\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-stage[data-mode=\"edit\"] .mesurer-toolbar-mode-track {\n transform: translateY(calc(-1 * var(--msr-select-mode-h)));\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-switch[data-value=\"edit\"] .mesurer-toolbar-mode-switch-pill {\n transform: translateY(30px);\n}\n[data-mesurer-toolbar][data-orientation=\"vertical\"] .mesurer-toolbar-mode-switch[data-compact=\"true\"] .mesurer-toolbar-mode-switch-pill {\n transform: none;\n}\n[data-mesurer-toolbar][data-dock-edge] {\n transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);\n}\n[data-mesurer-toolbar][data-tucked=\"true\"]:is(:not(:hover), [data-tuck-locked=\"true\"])[data-dock-edge=\"top\"] {\n transform: translateX(var(--msr-tuck-safe-offset, 0px)) translateY(calc(-100% - 10px));\n}\n[data-mesurer-toolbar][data-tucked=\"true\"]:is(:not(:hover), [data-tuck-locked=\"true\"])[data-dock-edge=\"bottom\"] {\n transform: translateY(calc(100% + 10px));\n}\n[data-mesurer-toolbar][data-tucked=\"true\"]:is(:not(:hover), [data-tuck-locked=\"true\"])[data-dock-edge=\"left\"] {\n transform: translateX(calc(-100% - 10px));\n}\n[data-mesurer-toolbar][data-tucked=\"true\"]:is(:not(:hover), [data-tuck-locked=\"true\"])[data-dock-edge=\"right\"] {\n transform: translateX(calc(100% + 10px));\n}\n[data-mesurer-toolbar] [role=\"tooltip\"][data-tooltip-side=\"left\"], [data-mesurer-toolbar] [role=\"tooltip\"][data-tooltip-side=\"right\"] {\n top: 50%;\n bottom: auto;\n margin: 0;\n translate: none;\n transform: translateY(-50%);\n}\n[data-mesurer-toolbar] [role=\"tooltip\"][data-tooltip-side=\"left\"] {\n left: auto;\n right: calc(100% + 14px);\n}\n[data-mesurer-toolbar] [role=\"tooltip\"][data-tooltip-side=\"right\"] {\n left: calc(100% + 14px);\n right: auto;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar][data-dock-edge] {\n transition: none !important;\n }\n .mesurer-toolbar-zone {\n animation: none;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", pf = {
|
|
6829
6864
|
opacity: 1,
|
|
6830
6865
|
width: 1,
|
|
6831
6866
|
pattern: "solid",
|
|
@@ -12557,31 +12592,31 @@ function y_(e) {
|
|
|
12557
12592
|
se = e.setTimeout(() => {
|
|
12558
12593
|
se = 0, t === ue && we(dm(de()), t);
|
|
12559
12594
|
}, 100);
|
|
12560
|
-
}, Ee = () => e.model.state.toolMode === "select", De = () => e.model.state.xrayVisible, Oe = () => e.model.state.colorPickerActive, ke = () => e.model.state.rulersVisible, Ae = () => e.model.state.toolMode === "text-inspector" || (e.typographyContextActive ?? !1), je = () => e.model.state.toolMode === "guides", Me = () => e.model.state.settingsOpen, Ne = () => (e.pluginTools ?? []).find((e) => e.modeSwitch === !0 && e.toolbarMode === "edit"), Pe = () => Ne()?.active?.() ? "edit" : "select", Fe = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "select" && !e.modeSwitch), Ie = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "edit" && !e.modeSwitch), Le = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "always" || e.toolbarMode === void 0), Re = (e) => e.active?.() ?? !1, ze = () => Le().some(Re), Be = () => Fe().some(Re), Ve = () => Ie().some(Re), He = () =>
|
|
12595
|
+
}, Ee = () => e.model.state.toolMode === "select", De = () => e.model.state.xrayVisible, Oe = () => e.model.state.colorPickerActive, ke = () => e.model.state.rulersVisible, Ae = () => e.model.state.toolMode === "text-inspector" || (e.typographyContextActive ?? !1), je = () => e.model.state.toolMode === "guides", Me = () => e.model.state.settingsOpen, Ne = () => (e.pluginTools ?? []).find((e) => e.modeSwitch === !0 && e.toolbarMode === "edit"), Pe = () => Ne()?.active?.() ? "edit" : "select", Fe = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "select" && !e.modeSwitch), Ie = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "edit" && !e.modeSwitch), Le = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "always" || e.toolbarMode === void 0), Re = (e) => e.active?.() ?? !1, ze = () => Le().some(Re), Be = () => Fe().some(Re), Ve = () => Ie().some(Re), He = () => Ee() || De() || Oe() || Ae() || e.responsiveOpen === !0, We = () => Pe() === "select" ? He() || Be() : Ve(), Ge = () => ke() || je(), Ke = (e) => !N() || e, qe = () => Le().length > 0 && (!N() || We() || Ge() || ze()), Je = () => !N() || We() || Ge() || ze() || Me(), Ye = () => !T() && !D() && !e.model.state.settingsOpen, Xe = () => T() || D() !== null || e.model.state.settingsOpen, Ze = Um({
|
|
12561
12596
|
ownerWindow: e.ownerWindow,
|
|
12562
12597
|
element: () => R,
|
|
12563
12598
|
enabled: () => u() && e.model.state.settings.toolbarAutoHide,
|
|
12564
12599
|
edge: r,
|
|
12565
|
-
busy: () => y() ||
|
|
12566
|
-
}),
|
|
12600
|
+
busy: () => y() || Xe() || !!Se() || xe() || x() || Oe() || (e.pluginTools ?? []).some(Re) || Ae()
|
|
12601
|
+
}), Qe = (t) => e.isBuiltinActionDisabled?.(t) ?? !1, $e = () => e.ownerWindow.innerHeight || 0, et = () => t().y < 56, tt = () => $e() > 0 && t().y > $e() - 56, nt = () => a() ? t().x < e.ownerWindow.innerWidth / 2 ? "right" : "left" : et() && !tt() ? "bottom" : "top", rt = () => {
|
|
12567
12602
|
t();
|
|
12568
12603
|
let e = H?.getBoundingClientRect();
|
|
12569
|
-
if (!e) return
|
|
12570
|
-
let n = Math.max(0,
|
|
12604
|
+
if (!e) return tt() ? "top" : "bottom";
|
|
12605
|
+
let n = Math.max(0, $e() - e.bottom - f_), r = Math.max(0, e.top - f_);
|
|
12571
12606
|
return n >= p_ || n >= r ? "bottom" : "top";
|
|
12572
|
-
},
|
|
12607
|
+
}, it = () => {
|
|
12573
12608
|
t();
|
|
12574
12609
|
let e = R?.getBoundingClientRect();
|
|
12575
|
-
if (!e) return
|
|
12576
|
-
let n = Math.max(0,
|
|
12610
|
+
if (!e) return tt() ? "top" : "bottom";
|
|
12611
|
+
let n = Math.max(0, $e() - e.bottom - f_), r = Math.max(0, e.top - f_);
|
|
12577
12612
|
return n >= m_ || n >= r ? "bottom" : "top";
|
|
12578
|
-
},
|
|
12613
|
+
}, at = () => {
|
|
12579
12614
|
t(), N(), Me(), F();
|
|
12580
12615
|
let n = (N() ? R : ee)?.getBoundingClientRect();
|
|
12581
12616
|
if (!n) return 0;
|
|
12582
12617
|
let r = e.ownerWindow.innerWidth || 288, i = Math.min(d_, Math.max(0, r - 16)), a = n.right + 4 - i, o = Math.max(f_, r - f_ - i);
|
|
12583
12618
|
return Math.min(o, Math.max(f_, a)) - n.left;
|
|
12584
|
-
},
|
|
12619
|
+
}, ot = () => {
|
|
12585
12620
|
let n = t();
|
|
12586
12621
|
N(), F();
|
|
12587
12622
|
let r = R?.getBoundingClientRect(), i = r && {
|
|
@@ -12621,8 +12656,8 @@ function y_(e) {
|
|
|
12621
12656
|
width: c,
|
|
12622
12657
|
maxHeight: f
|
|
12623
12658
|
};
|
|
12624
|
-
},
|
|
12625
|
-
let t =
|
|
12659
|
+
}, st = () => {
|
|
12660
|
+
let t = ot(), n = _();
|
|
12626
12661
|
if (!n) return t;
|
|
12627
12662
|
let r = Math.max(f_, e.ownerWindow.innerWidth - t.width - f_), i = Math.max(f_, e.ownerWindow.innerHeight - __ - f_);
|
|
12628
12663
|
return {
|
|
@@ -12632,7 +12667,7 @@ function y_(e) {
|
|
|
12632
12667
|
bottom: null,
|
|
12633
12668
|
maxHeight: Math.max(0, e.ownerWindow.innerHeight - 16)
|
|
12634
12669
|
};
|
|
12635
|
-
},
|
|
12670
|
+
}, ct = (t, n) => {
|
|
12636
12671
|
if (t.button !== 0) return;
|
|
12637
12672
|
let r = t.target;
|
|
12638
12673
|
if (!(r instanceof e.ownerWindow.Element) || r.closest("button, input, select, textarea, [role='slider']") && !r.closest("button[aria-label=\"Motion preview\"]")) return;
|
|
@@ -12644,19 +12679,19 @@ function y_(e) {
|
|
|
12644
12679
|
if (t.pointerId !== s) return;
|
|
12645
12680
|
let r = t.clientX - a, c = t.clientY - o;
|
|
12646
12681
|
if (!d && Math.hypot(r, c) < v_) return;
|
|
12647
|
-
d || (d = !0, b(!0), n.style.willChange = "transform");
|
|
12682
|
+
d || (d = !0, n.setPointerCapture(s), b(!0), n.style.willChange = "transform");
|
|
12648
12683
|
let l = Math.max(f_, e.ownerWindow.innerWidth - i.width - f_), h = Math.max(f_, e.ownerWindow.innerHeight - i.height - f_);
|
|
12649
12684
|
f = Math.min(l, Math.max(f_, i.left + r)), p = Math.min(h, Math.max(f_, i.top + c)), u ||= e.ownerWindow.requestAnimationFrame(m);
|
|
12650
12685
|
}, g = (t) => {
|
|
12651
12686
|
u && e.ownerWindow.cancelAnimationFrame(u), u = 0, d && t && v({
|
|
12652
12687
|
x: f,
|
|
12653
12688
|
y: p
|
|
12654
|
-
}), n.style.transform = c, n.style.willChange = l, b(!1), e.ownerWindow.removeEventListener("pointermove", h), e.ownerWindow.removeEventListener("pointerup", _), e.ownerWindow.removeEventListener("pointercancel", _), B = null;
|
|
12689
|
+
}), n.style.transform = c, n.style.willChange = l, n.hasPointerCapture(s) && n.releasePointerCapture(s), b(!1), e.ownerWindow.removeEventListener("pointermove", h, !0), e.ownerWindow.removeEventListener("pointerup", _, !0), e.ownerWindow.removeEventListener("pointercancel", _, !0), B = null;
|
|
12655
12690
|
}, _ = (e) => {
|
|
12656
12691
|
e.pointerId === s && (V = d, g(e.type === "pointerup"));
|
|
12657
12692
|
};
|
|
12658
|
-
B = () => g(!1), e.ownerWindow.addEventListener("pointermove", h), e.ownerWindow.addEventListener("pointerup", _), e.ownerWindow.addEventListener("pointercancel", _);
|
|
12659
|
-
},
|
|
12693
|
+
B = () => g(!1), e.ownerWindow.addEventListener("pointermove", h, !0), e.ownerWindow.addEventListener("pointerup", _, !0), e.ownerWindow.addEventListener("pointercancel", _, !0);
|
|
12694
|
+
}, lt = () => {
|
|
12660
12695
|
let t = H?.getBoundingClientRect();
|
|
12661
12696
|
if (!t) return;
|
|
12662
12697
|
let n = t.right - r_, r = t.left + r_;
|
|
@@ -12669,17 +12704,17 @@ function y_(e) {
|
|
|
12669
12704
|
return;
|
|
12670
12705
|
}
|
|
12671
12706
|
M("right");
|
|
12672
|
-
},
|
|
12707
|
+
}, ut = (t) => {
|
|
12673
12708
|
let n = (t.menu?.items ?? []).reduce((t, n) => {
|
|
12674
12709
|
let r = e.model.state.settings.shortcutsEnabled && n.shortcut ? n.shortcut.length + 2 : 0;
|
|
12675
12710
|
return Math.max(t, n.label.length + r);
|
|
12676
12711
|
}, 0);
|
|
12677
12712
|
return Math.min(a_, Math.max(i_, Math.ceil(n * o_ + s_)));
|
|
12678
|
-
},
|
|
12713
|
+
}, dt = (n) => {
|
|
12679
12714
|
t(), F();
|
|
12680
|
-
let r = ne?.getBoundingClientRect(), i = e.ownerWindow.innerWidth || 240, a =
|
|
12715
|
+
let r = ne?.getBoundingClientRect(), i = e.ownerWindow.innerWidth || 240, a = $e(), o = Math.min(ut(n), Math.max(0, i - 16));
|
|
12681
12716
|
if (!r) return {
|
|
12682
|
-
side:
|
|
12717
|
+
side: tt() ? "top" : "bottom",
|
|
12683
12718
|
left: 0,
|
|
12684
12719
|
width: o,
|
|
12685
12720
|
maxHeight: Math.max(0, a - 16)
|
|
@@ -12691,13 +12726,13 @@ function y_(e) {
|
|
|
12691
12726
|
width: o,
|
|
12692
12727
|
maxHeight: d
|
|
12693
12728
|
};
|
|
12694
|
-
},
|
|
12729
|
+
}, ft = (e, t) => {
|
|
12695
12730
|
if (D() === e) {
|
|
12696
12731
|
O(null), ne = void 0;
|
|
12697
12732
|
return;
|
|
12698
12733
|
}
|
|
12699
12734
|
ne = t, O(e);
|
|
12700
|
-
},
|
|
12735
|
+
}, pt = (o) => {
|
|
12701
12736
|
if (o.button !== 0) return;
|
|
12702
12737
|
let s = e.ownerWindow.Element, d = o.target;
|
|
12703
12738
|
if (d instanceof s && d.closest(n_)) return;
|
|
@@ -12726,7 +12761,7 @@ function y_(e) {
|
|
|
12726
12761
|
let n = t.clientX - m, o = t.clientY - h;
|
|
12727
12762
|
if (!k) {
|
|
12728
12763
|
if (k = Math.abs(n) > t_ || Math.abs(o) > t_, !k) return;
|
|
12729
|
-
E(!1), O(null), ne = void 0, y.style.willChange = "transform", T && (T.style.willChange = "transform"), b(!0), e.model.current.settingsOpen && e.model.setTransient({ settingsOpen: !1 });
|
|
12764
|
+
y.setPointerCapture(N), E(!1), O(null), ne = void 0, y.style.willChange = "transform", T && (T.style.willChange = "transform"), b(!0), e.model.current.settingsOpen && e.model.setTransient({ settingsOpen: !1 });
|
|
12730
12765
|
}
|
|
12731
12766
|
if (A = !0, L = {
|
|
12732
12767
|
x: t.clientX,
|
|
@@ -12774,7 +12809,7 @@ function y_(e) {
|
|
|
12774
12809
|
});
|
|
12775
12810
|
j ||= e.ownerWindow.requestAnimationFrame(R);
|
|
12776
12811
|
}, V = (t) => {
|
|
12777
|
-
if (j && e.ownerWindow.cancelAnimationFrame(j), j = 0, w(null), y.style.transform = S, y.style.willChange = C, T && (T.style.transform = D, T.style.willChange = ""), A && t) {
|
|
12812
|
+
if (j && e.ownerWindow.cancelAnimationFrame(j), j = 0, w(null), y.style.transform = S, y.style.willChange = C, y.hasPointerCapture(N) && y.releasePointerCapture(N), T && (T.style.transform = D, T.style.willChange = ""), A && t) {
|
|
12778
12813
|
if (u()) {
|
|
12779
12814
|
let e = Math.min(fe().width, fe().height), t = r() ? {
|
|
12780
12815
|
side: r(),
|
|
@@ -12787,36 +12822,36 @@ function y_(e) {
|
|
|
12787
12822
|
}
|
|
12788
12823
|
n(M), ye(), he(M);
|
|
12789
12824
|
}
|
|
12790
|
-
b(!1), ie !== null && (p.style.userSelect = ie, ie = null), e.ownerWindow.removeEventListener("pointermove", B), e.ownerWindow.removeEventListener("pointerup", ee), e.ownerWindow.removeEventListener("pointercancel", ee), G = null;
|
|
12825
|
+
b(!1), ie !== null && (p.style.userSelect = ie, ie = null), e.ownerWindow.removeEventListener("pointermove", B, !0), e.ownerWindow.removeEventListener("pointerup", ee, !0), e.ownerWindow.removeEventListener("pointercancel", ee, !0), G = null;
|
|
12791
12826
|
}, ee = (e) => {
|
|
12792
12827
|
e.pointerId === N && (re = A, V(e.type === "pointerup"));
|
|
12793
12828
|
};
|
|
12794
|
-
G = () => V(!1), e.ownerWindow.addEventListener("pointermove", B), e.ownerWindow.addEventListener("pointerup", ee), e.ownerWindow.addEventListener("pointercancel", ee);
|
|
12795
|
-
},
|
|
12829
|
+
G = () => V(!1), e.ownerWindow.addEventListener("pointermove", B, !0), e.ownerWindow.addEventListener("pointerup", ee, !0), e.ownerWindow.addEventListener("pointercancel", ee, !0);
|
|
12830
|
+
}, mt = (t) => {
|
|
12796
12831
|
e.model.setEnabled(!0), e.model.current.toolMode !== "guides" && e.model.toggleToolMode("guides"), e.model.setGuideOrientation(t, !0), E(!1);
|
|
12797
|
-
},
|
|
12832
|
+
}, ht = () => {
|
|
12798
12833
|
let t = !N();
|
|
12799
12834
|
t && (E(!1), O(null), e.model.current.settingsOpen && e.model.setTransient({ settingsOpen: !1 })), ce && e.ownerWindow.clearTimeout(ce), U && (U.dataset.compactMotion = "true"), P(t), ce = e.ownerWindow.setTimeout(() => {
|
|
12800
12835
|
ce = 0, U && delete U.dataset.compactMotion, I((e) => e + 1);
|
|
12801
12836
|
}, 170);
|
|
12802
|
-
},
|
|
12837
|
+
}, gt = () => {
|
|
12803
12838
|
le && e.ownerWindow.clearTimeout(le), U && (U.dataset.modeMotion = "true"), le = e.ownerWindow.setTimeout(() => {
|
|
12804
12839
|
le = 0, U && delete U.dataset.modeMotion;
|
|
12805
12840
|
}, 170);
|
|
12806
|
-
}, gt = () => {
|
|
12807
|
-
let t = Ne();
|
|
12808
|
-
t?.active?.() && (O(null), ht(), e.onPluginTool?.(t));
|
|
12809
12841
|
}, _t = () => {
|
|
12810
12842
|
let t = Ne();
|
|
12811
|
-
|
|
12812
|
-
}, vt = (
|
|
12843
|
+
t?.active?.() && (O(null), gt(), e.onPluginTool?.(t));
|
|
12844
|
+
}, vt = () => {
|
|
12845
|
+
let t = Ne();
|
|
12846
|
+
!t || t.disabled?.() || (E(!1), O(null), gt(), e.onPluginTool?.(t));
|
|
12847
|
+
}, yt = (t) => ({
|
|
12813
12848
|
shortcutsEnabled: e.model.state.settings.shortcutsEnabled,
|
|
12814
|
-
tooltipVisible:
|
|
12849
|
+
tooltipVisible: Ye() && L.visibleTooltipId() === t,
|
|
12815
12850
|
tooltipInstant: L.tooltipInstant(),
|
|
12816
|
-
tooltipSide:
|
|
12851
|
+
tooltipSide: nt(),
|
|
12817
12852
|
onTooltipEnter: L.onTooltipEnter,
|
|
12818
12853
|
onTooltipLeave: L.onTooltipLeave
|
|
12819
|
-
}),
|
|
12854
|
+
}), bt = (t) => Y(q, {
|
|
12820
12855
|
get when() {
|
|
12821
12856
|
return D() === t.id;
|
|
12822
12857
|
},
|
|
@@ -12863,22 +12898,22 @@ function y_(e) {
|
|
|
12863
12898
|
})()
|
|
12864
12899
|
})), J(() => ({
|
|
12865
12900
|
e: t.id,
|
|
12866
|
-
t:
|
|
12867
|
-
a: `mesurer-menu-surface msr:absolute msr:z-[70] msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-1 msr:outline-none msr:flex msr:flex-col msr:gap-px msr:overflow-x-hidden msr:overflow-y-auto ${
|
|
12901
|
+
t: dt(t).side,
|
|
12902
|
+
a: `mesurer-menu-surface msr:absolute msr:z-[70] msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-1 msr:outline-none msr:flex msr:flex-col msr:gap-px msr:overflow-x-hidden msr:overflow-y-auto ${dt(t).side === "top" ? "msr:bottom-full msr:mb-2" : "msr:top-full msr:mt-2"}`,
|
|
12868
12903
|
o: {
|
|
12869
|
-
left: `${
|
|
12904
|
+
left: `${dt(t).left}px`,
|
|
12870
12905
|
right: "auto",
|
|
12871
|
-
width: `${
|
|
12872
|
-
"max-height": `${
|
|
12906
|
+
width: `${dt(t).width}px`,
|
|
12907
|
+
"max-height": `${dt(t).maxHeight}px`
|
|
12873
12908
|
},
|
|
12874
12909
|
i: t.menu?.label ?? `${t.label} options`
|
|
12875
12910
|
}), ({ e, t, a: r, o: i, i: a }, o) => {
|
|
12876
12911
|
e !== o?.e && $(n, "data-mesurer-tool-menu", e, o?.e), t !== o?.t && $(n, "data-mesurer-menu-side", t, o?.t), r !== o?.a && $(n, "class", r, o?.a), i !== o?.o && $(n, "style", i, o?.o), a !== o?.i && $(n, "aria-label", a, o?.i);
|
|
12877
12912
|
}), n;
|
|
12878
12913
|
}
|
|
12879
|
-
}),
|
|
12914
|
+
}), xt = (t) => Y(Zg, {
|
|
12880
12915
|
get visible() {
|
|
12881
|
-
return
|
|
12916
|
+
return Ke(Re(t));
|
|
12882
12917
|
},
|
|
12883
12918
|
get children() {
|
|
12884
12919
|
return Y(q, {
|
|
@@ -12906,7 +12941,7 @@ function y_(e) {
|
|
|
12906
12941
|
return t.shortcut;
|
|
12907
12942
|
},
|
|
12908
12943
|
onClick: () => e.onPluginTool?.(t)
|
|
12909
|
-
}, () =>
|
|
12944
|
+
}, () => yt(`plugin:${t.id}`), { get children() {
|
|
12910
12945
|
return Y(e_, { tool: t });
|
|
12911
12946
|
} }));
|
|
12912
12947
|
},
|
|
@@ -12917,7 +12952,7 @@ function y_(e) {
|
|
|
12917
12952
|
}), r = X("button", {
|
|
12918
12953
|
type: "button",
|
|
12919
12954
|
onMouseEnter: () => L.onTooltipEnter(`plugin-menu:${t.id}`),
|
|
12920
|
-
onClick: (e) =>
|
|
12955
|
+
onClick: (e) => ft(t.id, e.currentTarget.parentElement ?? e.currentTarget)
|
|
12921
12956
|
});
|
|
12922
12957
|
return Z(n, r), Q(n, Y(Xg, sc({
|
|
12923
12958
|
get id() {
|
|
@@ -12939,22 +12974,22 @@ function y_(e) {
|
|
|
12939
12974
|
return t.shortcut;
|
|
12940
12975
|
},
|
|
12941
12976
|
onClick: () => e.onPluginTool?.(t)
|
|
12942
|
-
}, () =>
|
|
12977
|
+
}, () => yt(`plugin:${t.id}`), { get children() {
|
|
12943
12978
|
return Y(e_, { tool: t });
|
|
12944
12979
|
} })), r), Q(r, Y(_g, { size: 8 }), null), Q(r, Y(El, {
|
|
12945
12980
|
get label() {
|
|
12946
12981
|
return `${t.label} options`;
|
|
12947
12982
|
},
|
|
12948
12983
|
get visible() {
|
|
12949
|
-
return ic(() => !!
|
|
12984
|
+
return ic(() => !!Ye())() ? L.visibleTooltipId() === `plugin-menu:${t.id}` : Ye();
|
|
12950
12985
|
},
|
|
12951
12986
|
get instant() {
|
|
12952
12987
|
return L.tooltipInstant();
|
|
12953
12988
|
},
|
|
12954
12989
|
get side() {
|
|
12955
|
-
return
|
|
12990
|
+
return nt();
|
|
12956
12991
|
}
|
|
12957
|
-
}), null), Q(n, () =>
|
|
12992
|
+
}), null), Q(n, () => bt(t), null), J(() => ({
|
|
12958
12993
|
e: t.id,
|
|
12959
12994
|
t: t.id,
|
|
12960
12995
|
a: `${t.label} options`,
|
|
@@ -12984,7 +13019,7 @@ function y_(e) {
|
|
|
12984
13019
|
}, a = () => {
|
|
12985
13020
|
E(!1), O(null), e.model.current.settingsOpen && e.model.setTransient({ settingsOpen: !1 });
|
|
12986
13021
|
}, o = () => {
|
|
12987
|
-
T() &&
|
|
13022
|
+
T() && lt(), I((e) => e + 1);
|
|
12988
13023
|
}, s = e.ownerWindow.document;
|
|
12989
13024
|
return e.ownerWindow.addEventListener("pointerdown", n), e.ownerWindow.addEventListener("focus", t), e.ownerWindow.addEventListener("pageshow", t), e.ownerWindow.document.addEventListener("visibilitychange", t), s.addEventListener("keydown", i, !0), e.ownerWindow.addEventListener("resize", o), e.ownerWindow.addEventListener("mesurer:responsive-frame-pointerdown", a), R?.addEventListener("click", r, !0), () => {
|
|
12990
13025
|
ue += 1, se &&= (de().clearTimeout(se), 0), ce &&= (e.ownerWindow.clearTimeout(ce), 0), le &&= (e.ownerWindow.clearTimeout(le), 0), e.ownerWindow.removeEventListener("pointerdown", n), e.ownerWindow.removeEventListener("focus", t), e.ownerWindow.removeEventListener("pageshow", t), e.ownerWindow.document.removeEventListener("visibilitychange", t), s.removeEventListener("keydown", i, !0), e.ownerWindow.removeEventListener("resize", o), e.ownerWindow.removeEventListener("mesurer:responsive-frame-pointerdown", a), R?.removeEventListener("click", r, !0), G?.(), B?.(), ie !== null && (e.ownerWindow.document.documentElement.style.userSelect = ie);
|
|
@@ -13009,13 +13044,13 @@ function y_(e) {
|
|
|
13009
13044
|
e.ownerWindow.cancelAnimationFrame(c), o && e.ownerWindow.cancelAnimationFrame(o), s?.disconnect();
|
|
13010
13045
|
};
|
|
13011
13046
|
});
|
|
13012
|
-
let
|
|
13047
|
+
let St = un(u);
|
|
13013
13048
|
return vo(u, (e) => {
|
|
13014
|
-
e !==
|
|
13049
|
+
e !== St && (St = e, un(() => {
|
|
13015
13050
|
e ? be() : (i(null), ve(!1), n(me(t())), ye(), he(t()));
|
|
13016
13051
|
}));
|
|
13017
13052
|
}), vo(() => [
|
|
13018
|
-
|
|
13053
|
+
Ze.tucked(),
|
|
13019
13054
|
m(),
|
|
13020
13055
|
a()
|
|
13021
13056
|
], () => {
|
|
@@ -13139,14 +13174,14 @@ function y_(e) {
|
|
|
13139
13174
|
ic((() => {
|
|
13140
13175
|
let t = Se();
|
|
13141
13176
|
if (!t) return null;
|
|
13142
|
-
let n =
|
|
13177
|
+
let n = st, r = t;
|
|
13143
13178
|
var i = X("div", {
|
|
13144
13179
|
"data-mesurer-motion-surface": "true",
|
|
13145
13180
|
"data-mesurer-inspector-ui": "true",
|
|
13146
13181
|
class: "msr:pointer-events-auto msr:absolute msr:z-[80] msr:overflow-visible"
|
|
13147
13182
|
});
|
|
13148
13183
|
return lc(() => (e) => {
|
|
13149
|
-
z = e, e.addEventListener("pointerdown", (t) =>
|
|
13184
|
+
z = e, e.addEventListener("pointerdown", (t) => ct(t, e), !0), e.addEventListener("click", (e) => {
|
|
13150
13185
|
V && (V = !1, e.preventDefault(), e.stopImmediatePropagation());
|
|
13151
13186
|
}, !0);
|
|
13152
13187
|
}, i), Q(i, Y(og, {
|
|
@@ -13188,7 +13223,7 @@ function y_(e) {
|
|
|
13188
13223
|
"data-mesurer-toolbar": "true",
|
|
13189
13224
|
"data-mesurer-inspector-ui": "true",
|
|
13190
13225
|
onPointerDown: (t) => {
|
|
13191
|
-
t.stopPropagation(), e.model.setTransient({ toolbarActive: !0 }),
|
|
13226
|
+
t.stopPropagation(), e.model.setTransient({ toolbarActive: !0 }), pt(t);
|
|
13192
13227
|
},
|
|
13193
13228
|
onClick: (e) => e.stopPropagation(),
|
|
13194
13229
|
onMouseEnter: Te
|
|
@@ -13210,7 +13245,7 @@ function y_(e) {
|
|
|
13210
13245
|
type: "button",
|
|
13211
13246
|
"data-mesurer-toolbar-compact-toggle": "true",
|
|
13212
13247
|
class: "msr:flex msr:size-7 msr:select-none msr:items-center msr:justify-center msr:rounded-[7px] msr:text-black msr:outline-none msr:hover:bg-black/4",
|
|
13213
|
-
onClick:
|
|
13248
|
+
onClick: ht
|
|
13214
13249
|
});
|
|
13215
13250
|
return Z(n, i), Z(n, g), Z(n, _), Z(n, v), lc(() => (e) => {
|
|
13216
13251
|
R = e;
|
|
@@ -13234,19 +13269,19 @@ function y_(e) {
|
|
|
13234
13269
|
return D() === Ne()?.id;
|
|
13235
13270
|
},
|
|
13236
13271
|
get editOptions() {
|
|
13237
|
-
return ic(() => !!Ne())() ?
|
|
13272
|
+
return ic(() => !!Ne())() ? bt(Ne()) : null;
|
|
13238
13273
|
},
|
|
13239
13274
|
get shortcutsEnabled() {
|
|
13240
13275
|
return e.model.state.settings.shortcutsEnabled;
|
|
13241
13276
|
},
|
|
13242
13277
|
get tooltipVisibleId() {
|
|
13243
|
-
return ic(() => !!
|
|
13278
|
+
return ic(() => !!Ye())() ? L.visibleTooltipId() : null;
|
|
13244
13279
|
},
|
|
13245
13280
|
get tooltipInstant() {
|
|
13246
13281
|
return L.tooltipInstant();
|
|
13247
13282
|
},
|
|
13248
13283
|
get tooltipSide() {
|
|
13249
|
-
return
|
|
13284
|
+
return nt();
|
|
13250
13285
|
},
|
|
13251
13286
|
get onTooltipEnter() {
|
|
13252
13287
|
return L.onTooltipEnter;
|
|
@@ -13254,15 +13289,15 @@ function y_(e) {
|
|
|
13254
13289
|
get onTooltipLeave() {
|
|
13255
13290
|
return L.onTooltipLeave;
|
|
13256
13291
|
},
|
|
13257
|
-
onSelect:
|
|
13258
|
-
onEdit:
|
|
13292
|
+
onSelect: _t,
|
|
13293
|
+
onEdit: vt,
|
|
13259
13294
|
onEditOptions: (e) => {
|
|
13260
13295
|
let t = Ne();
|
|
13261
|
-
!t || t.disabled?.() ||
|
|
13296
|
+
!t || t.disabled?.() || ft(t.id, e);
|
|
13262
13297
|
}
|
|
13263
13298
|
}), i), Q(n, Y(Qg, {
|
|
13264
13299
|
get visible() {
|
|
13265
|
-
return
|
|
13300
|
+
return Je();
|
|
13266
13301
|
},
|
|
13267
13302
|
marker: "mode"
|
|
13268
13303
|
}), i), Z(i, o), lc(() => (e) => {
|
|
@@ -13271,7 +13306,7 @@ function y_(e) {
|
|
|
13271
13306
|
W = e;
|
|
13272
13307
|
}, l), Q(f, Y(Zg, {
|
|
13273
13308
|
get visible() {
|
|
13274
|
-
return
|
|
13309
|
+
return Ke(Ee());
|
|
13275
13310
|
},
|
|
13276
13311
|
get children() {
|
|
13277
13312
|
return Y(Xg, sc({
|
|
@@ -13283,13 +13318,13 @@ function y_(e) {
|
|
|
13283
13318
|
label: "Select",
|
|
13284
13319
|
shortcut: "S",
|
|
13285
13320
|
onClick: () => e.onBuiltinAction("select")
|
|
13286
|
-
}, () =>
|
|
13321
|
+
}, () => yt("select"), { get children() {
|
|
13287
13322
|
return Y(dg, { size: 20 });
|
|
13288
13323
|
} }));
|
|
13289
13324
|
}
|
|
13290
13325
|
}), null), Q(f, Y(Zg, {
|
|
13291
13326
|
get visible() {
|
|
13292
|
-
return
|
|
13327
|
+
return Ke(De());
|
|
13293
13328
|
},
|
|
13294
13329
|
get children() {
|
|
13295
13330
|
return Y(Xg, sc({
|
|
@@ -13301,7 +13336,7 @@ function y_(e) {
|
|
|
13301
13336
|
label: "X-ray",
|
|
13302
13337
|
shortcut: "X",
|
|
13303
13338
|
onClick: () => e.onBuiltinAction("xray")
|
|
13304
|
-
}, () =>
|
|
13339
|
+
}, () => yt("xray"), { get children() {
|
|
13305
13340
|
return Y(hg, { size: 20 });
|
|
13306
13341
|
} }));
|
|
13307
13342
|
}
|
|
@@ -13312,7 +13347,7 @@ function y_(e) {
|
|
|
13312
13347
|
get children() {
|
|
13313
13348
|
return Y(Zg, {
|
|
13314
13349
|
get visible() {
|
|
13315
|
-
return
|
|
13350
|
+
return Ke(Oe());
|
|
13316
13351
|
},
|
|
13317
13352
|
get children() {
|
|
13318
13353
|
return Y(Xg, sc({
|
|
@@ -13322,12 +13357,12 @@ function y_(e) {
|
|
|
13322
13357
|
return Oe();
|
|
13323
13358
|
},
|
|
13324
13359
|
get disabled() {
|
|
13325
|
-
return
|
|
13360
|
+
return Qe("color-picker");
|
|
13326
13361
|
},
|
|
13327
13362
|
label: "Color picker",
|
|
13328
13363
|
shortcut: "P",
|
|
13329
13364
|
onClick: () => e.onBuiltinAction("color-picker")
|
|
13330
|
-
}, () =>
|
|
13365
|
+
}, () => yt("color-picker"), { get children() {
|
|
13331
13366
|
return Y(Sg, { size: 20 });
|
|
13332
13367
|
} }));
|
|
13333
13368
|
}
|
|
@@ -13335,7 +13370,7 @@ function y_(e) {
|
|
|
13335
13370
|
}
|
|
13336
13371
|
}), null), Q(f, Y(Zg, {
|
|
13337
13372
|
get visible() {
|
|
13338
|
-
return
|
|
13373
|
+
return Ke(Ae());
|
|
13339
13374
|
},
|
|
13340
13375
|
get children() {
|
|
13341
13376
|
return Y(Xg, sc({
|
|
@@ -13345,18 +13380,18 @@ function y_(e) {
|
|
|
13345
13380
|
return Ae();
|
|
13346
13381
|
},
|
|
13347
13382
|
get disabled() {
|
|
13348
|
-
return
|
|
13383
|
+
return Qe("text-inspector");
|
|
13349
13384
|
},
|
|
13350
13385
|
label: "Typography",
|
|
13351
13386
|
shortcut: "A",
|
|
13352
13387
|
onClick: () => e.onBuiltinAction("text-inspector")
|
|
13353
|
-
}, () =>
|
|
13388
|
+
}, () => yt("text-inspector"), { get children() {
|
|
13354
13389
|
return Y(bg, { size: 20 });
|
|
13355
13390
|
} }));
|
|
13356
13391
|
}
|
|
13357
13392
|
}), null), Q(f, Y(Zg, {
|
|
13358
13393
|
get visible() {
|
|
13359
|
-
return
|
|
13394
|
+
return Ke(e.responsiveOpen === !0);
|
|
13360
13395
|
},
|
|
13361
13396
|
get children() {
|
|
13362
13397
|
return Y(Xg, sc({
|
|
@@ -13368,7 +13403,7 @@ function y_(e) {
|
|
|
13368
13403
|
label: "Responsive",
|
|
13369
13404
|
shortcut: "B",
|
|
13370
13405
|
onClick: () => e.onBuiltinAction("responsive")
|
|
13371
|
-
}, () =>
|
|
13406
|
+
}, () => yt("responsive"), { get children() {
|
|
13372
13407
|
return Y(xg, { size: 20 });
|
|
13373
13408
|
} }));
|
|
13374
13409
|
}
|
|
@@ -13379,7 +13414,7 @@ function y_(e) {
|
|
|
13379
13414
|
get children() {
|
|
13380
13415
|
return [Y(Qg, {
|
|
13381
13416
|
get visible() {
|
|
13382
|
-
return !N() || Be() && (
|
|
13417
|
+
return !N() || Be() && He();
|
|
13383
13418
|
},
|
|
13384
13419
|
marker: "select-plugins"
|
|
13385
13420
|
}), (() => {
|
|
@@ -13392,7 +13427,7 @@ function y_(e) {
|
|
|
13392
13427
|
get each() {
|
|
13393
13428
|
return Fe();
|
|
13394
13429
|
},
|
|
13395
|
-
children: (e) =>
|
|
13430
|
+
children: (e) => xt(e)
|
|
13396
13431
|
})), e;
|
|
13397
13432
|
})()];
|
|
13398
13433
|
}
|
|
@@ -13412,12 +13447,12 @@ function y_(e) {
|
|
|
13412
13447
|
get each() {
|
|
13413
13448
|
return Ie();
|
|
13414
13449
|
},
|
|
13415
|
-
children: (e) =>
|
|
13450
|
+
children: (e) => xt(e)
|
|
13416
13451
|
})), e;
|
|
13417
13452
|
}
|
|
13418
13453
|
})), Q(g, Y(Zg, {
|
|
13419
13454
|
get visible() {
|
|
13420
|
-
return
|
|
13455
|
+
return Ke(ke());
|
|
13421
13456
|
},
|
|
13422
13457
|
get children() {
|
|
13423
13458
|
return Y(Xg, sc({
|
|
@@ -13429,13 +13464,13 @@ function y_(e) {
|
|
|
13429
13464
|
label: "Rulers",
|
|
13430
13465
|
shortcut: "R",
|
|
13431
13466
|
onClick: () => e.onBuiltinAction("rulers")
|
|
13432
|
-
}, () =>
|
|
13467
|
+
}, () => yt("rulers"), { get children() {
|
|
13433
13468
|
return Y(gg, { size: 20 });
|
|
13434
13469
|
} }));
|
|
13435
13470
|
}
|
|
13436
13471
|
}), null), Q(g, Y(Zg, {
|
|
13437
13472
|
get visible() {
|
|
13438
|
-
return
|
|
13473
|
+
return Ke(je());
|
|
13439
13474
|
},
|
|
13440
13475
|
get children() {
|
|
13441
13476
|
return [Y(Xg, sc({
|
|
@@ -13445,12 +13480,12 @@ function y_(e) {
|
|
|
13445
13480
|
return je();
|
|
13446
13481
|
},
|
|
13447
13482
|
get disabled() {
|
|
13448
|
-
return
|
|
13483
|
+
return Qe("guides");
|
|
13449
13484
|
},
|
|
13450
13485
|
label: "Guides",
|
|
13451
13486
|
shortcut: "G",
|
|
13452
13487
|
onClick: () => e.onBuiltinAction("guides")
|
|
13453
|
-
}, () =>
|
|
13488
|
+
}, () => yt("guides"), { get children() {
|
|
13454
13489
|
return Y(mg, {
|
|
13455
13490
|
size: 20,
|
|
13456
13491
|
get class() {
|
|
@@ -13467,7 +13502,7 @@ function y_(e) {
|
|
|
13467
13502
|
"aria-label": "Guide orientation menu",
|
|
13468
13503
|
"aria-haspopup": "menu",
|
|
13469
13504
|
onClick: () => {
|
|
13470
|
-
E((t) => (t || (A(e.model.state.guideOrientation === "horizontal" ? 0 : 1),
|
|
13505
|
+
E((t) => (t || (A(e.model.state.guideOrientation === "horizontal" ? 0 : 1), lt()), !t));
|
|
13471
13506
|
}
|
|
13472
13507
|
});
|
|
13473
13508
|
return Z(t, n), lc(() => (e) => {
|
|
@@ -13475,13 +13510,13 @@ function y_(e) {
|
|
|
13475
13510
|
}, t), Q(n, Y(_g, { size: 8 })), Q(t, Y(El, {
|
|
13476
13511
|
label: "Orientation Guide",
|
|
13477
13512
|
get visible() {
|
|
13478
|
-
return ic(() => !!
|
|
13513
|
+
return ic(() => !!Ye())() ? L.visibleTooltipId() === "guide-menu" : Ye();
|
|
13479
13514
|
},
|
|
13480
13515
|
get instant() {
|
|
13481
13516
|
return L.tooltipInstant();
|
|
13482
13517
|
},
|
|
13483
13518
|
get side() {
|
|
13484
|
-
return
|
|
13519
|
+
return nt();
|
|
13485
13520
|
}
|
|
13486
13521
|
}), null), Q(t, Y(q, {
|
|
13487
13522
|
get when() {
|
|
@@ -13493,14 +13528,14 @@ function y_(e) {
|
|
|
13493
13528
|
tabindex: 0,
|
|
13494
13529
|
onKeyDown: (e) => {
|
|
13495
13530
|
let t = e.key.toLowerCase();
|
|
13496
|
-
e.key === "ArrowDown" || e.key === "ArrowUp" ? (e.preventDefault(), A((e) => (e + 1) % 2)) : e.key === "Enter" ? (e.preventDefault(),
|
|
13531
|
+
e.key === "ArrowDown" || e.key === "ArrowUp" ? (e.preventDefault(), A((e) => (e + 1) % 2)) : e.key === "Enter" ? (e.preventDefault(), mt(k() === 0 ? "horizontal" : "vertical")) : t === "h" || t === "v" ? (e.preventDefault(), mt(t === "h" ? "horizontal" : "vertical")) : e.key === "Escape" && (e.preventDefault(), E(!1));
|
|
13497
13532
|
}
|
|
13498
13533
|
}), n = X("button", {
|
|
13499
13534
|
type: "button",
|
|
13500
|
-
onClick: () =>
|
|
13535
|
+
onClick: () => mt("horizontal")
|
|
13501
13536
|
}), r = X("span", { class: "msr:flex-1" }), i = X("span"), a = X("button", {
|
|
13502
13537
|
type: "button",
|
|
13503
|
-
onClick: () =>
|
|
13538
|
+
onClick: () => mt("vertical")
|
|
13504
13539
|
}), o = X("span", { class: "msr:flex-1" }), s = X("span");
|
|
13505
13540
|
return Z(t, n), Z(t, a), Z(n, r), Z(n, i), Q(n, Y(vg, {
|
|
13506
13541
|
size: 12,
|
|
@@ -13516,7 +13551,7 @@ function y_(e) {
|
|
|
13516
13551
|
size: 12,
|
|
13517
13552
|
class: "msr:rotate-90"
|
|
13518
13553
|
}), o), Z(o, ac("Vertical")), Z(s, ac("V")), J(() => ({
|
|
13519
|
-
e: `mesurer-menu-surface msr:absolute msr:z-[70] msr:w-44 msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-1 msr:outline-none msr:focus:outline-none msr:flex msr:flex-col msr:gap-px ${
|
|
13554
|
+
e: `mesurer-menu-surface msr:absolute msr:z-[70] msr:w-44 msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-1 msr:outline-none msr:focus:outline-none msr:flex msr:flex-col msr:gap-px ${rt() === "bottom" ? "msr:top-full msr:mt-2" : "msr:bottom-full msr:mb-2"} ${j() === "left" ? "msr:left-0" : "msr:right-0"}`,
|
|
13520
13555
|
t: `msr:group msr:flex msr:w-full msr:items-center msr:gap-2 msr:rounded-md msr:px-2 msr:py-1.5 msr:text-left msr:text-[12px] ${k() === 0 || e.model.state.guideOrientation === "horizontal" ? "msr:bg-[#0d99ff] msr:text-white" : "msr:text-ink-700 msr:hover:bg-[#0d99ff] msr:hover:text-white"}`,
|
|
13521
13556
|
a: `msr:group msr:flex msr:w-full msr:items-center msr:gap-2 msr:rounded-md msr:px-2 msr:py-1.5 msr:text-left msr:text-[12px] ${k() === 1 || e.model.state.guideOrientation === "vertical" ? "msr:bg-[#0d99ff] msr:text-white" : "msr:text-ink-700 msr:hover:bg-[#0d99ff] msr:hover:text-white"}`
|
|
13522
13557
|
}), ({ e, t: r, a: i }, o) => {
|
|
@@ -13526,8 +13561,8 @@ function y_(e) {
|
|
|
13526
13561
|
}), null), J(() => ({
|
|
13527
13562
|
e: L.onTooltipLeave,
|
|
13528
13563
|
t: T() ? "true" : "false",
|
|
13529
|
-
a:
|
|
13530
|
-
o: `msr:flex msr:h-8 msr:w-4 msr:items-center msr:justify-center msr:rounded-[6px] msr:outline-none ${
|
|
13564
|
+
a: Qe("guides"),
|
|
13565
|
+
o: `msr:flex msr:h-8 msr:w-4 msr:items-center msr:justify-center msr:rounded-[6px] msr:outline-none ${Qe("guides") ? "msr:cursor-default msr:text-black/30" : "msr:hover:bg-black/10"} ${T() ? "msr:bg-black/10 msr:text-black" : "msr:text-black"}`
|
|
13531
13566
|
}), ({ e, t: r, a: i, o: a }, o) => {
|
|
13532
13567
|
e !== o?.e && $(t, "onMouseLeave", e, o?.e), r !== o?.t && $(n, "aria-expanded", r, o?.t), i !== o?.a && $(n, "disabled", i, o?.a), a !== o?.o && $(n, "class", a, o?.o);
|
|
13533
13568
|
}), t;
|
|
@@ -13540,7 +13575,7 @@ function y_(e) {
|
|
|
13540
13575
|
get children() {
|
|
13541
13576
|
return [Y(Qg, {
|
|
13542
13577
|
get visible() {
|
|
13543
|
-
return
|
|
13578
|
+
return qe();
|
|
13544
13579
|
},
|
|
13545
13580
|
marker: "plugins"
|
|
13546
13581
|
}), (() => {
|
|
@@ -13553,13 +13588,13 @@ function y_(e) {
|
|
|
13553
13588
|
get each() {
|
|
13554
13589
|
return Le();
|
|
13555
13590
|
},
|
|
13556
|
-
children: (e) =>
|
|
13591
|
+
children: (e) => xt(e)
|
|
13557
13592
|
})), e;
|
|
13558
13593
|
})()];
|
|
13559
13594
|
}
|
|
13560
13595
|
}), _), Q(_, Y(Zg, {
|
|
13561
13596
|
get visible() {
|
|
13562
|
-
return
|
|
13597
|
+
return Ke(Me());
|
|
13563
13598
|
},
|
|
13564
13599
|
get children() {
|
|
13565
13600
|
var t = X("div", {
|
|
@@ -13577,7 +13612,7 @@ function y_(e) {
|
|
|
13577
13612
|
label: "Settings",
|
|
13578
13613
|
shortcut: "⌘/Ctrl+,",
|
|
13579
13614
|
onClick: () => e.onBuiltinAction("settings")
|
|
13580
|
-
}, () =>
|
|
13615
|
+
}, () => yt("settings"), { get children() {
|
|
13581
13616
|
return Y(jg, { size: 20 });
|
|
13582
13617
|
} })), null), Q(t, Y(q, {
|
|
13583
13618
|
get when() {
|
|
@@ -13612,9 +13647,9 @@ function y_(e) {
|
|
|
13612
13647
|
return e.onSelectionSpacingStyleChange;
|
|
13613
13648
|
}
|
|
13614
13649
|
})), J(() => ({
|
|
13615
|
-
e: `mesurer-menu-surface msr:absolute msr:z-[70] msr:box-border msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:max-h-[calc(100vh-16px)] msr:overflow-y-auto msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-3 ${
|
|
13650
|
+
e: `mesurer-menu-surface msr:absolute msr:z-[70] msr:box-border msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:max-h-[calc(100vh-16px)] msr:overflow-y-auto msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-3 ${it() === "bottom" ? "msr:top-full msr:mt-2" : "msr:bottom-full msr:mb-2"}`,
|
|
13616
13651
|
t: {
|
|
13617
|
-
left: `${
|
|
13652
|
+
left: `${at()}px`,
|
|
13618
13653
|
right: "auto"
|
|
13619
13654
|
}
|
|
13620
13655
|
}), ({ e, t: n }, r) => {
|
|
@@ -13625,7 +13660,7 @@ function y_(e) {
|
|
|
13625
13660
|
}
|
|
13626
13661
|
})), Q(n, Y(Qg, {
|
|
13627
13662
|
get visible() {
|
|
13628
|
-
return
|
|
13663
|
+
return Je();
|
|
13629
13664
|
},
|
|
13630
13665
|
marker: "compact"
|
|
13631
13666
|
}), v), Q(n, Y(q, {
|
|
@@ -13662,9 +13697,9 @@ function y_(e) {
|
|
|
13662
13697
|
return e.onSelectionSpacingStyleChange;
|
|
13663
13698
|
}
|
|
13664
13699
|
})), J(() => ({
|
|
13665
|
-
e: `mesurer-menu-surface msr:pointer-events-auto msr:absolute msr:z-[110] msr:box-border msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:max-h-[calc(100vh-16px)] msr:overflow-y-auto msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-3 ${
|
|
13700
|
+
e: `mesurer-menu-surface msr:pointer-events-auto msr:absolute msr:z-[110] msr:box-border msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:max-h-[calc(100vh-16px)] msr:overflow-y-auto msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-3 ${it() === "bottom" ? "msr:top-full msr:mt-2" : "msr:bottom-full msr:mb-2"}`,
|
|
13666
13701
|
t: {
|
|
13667
|
-
left: `${
|
|
13702
|
+
left: `${at()}px`,
|
|
13668
13703
|
right: "auto"
|
|
13669
13704
|
}
|
|
13670
13705
|
}), ({ e, t: n }, r) => {
|
|
@@ -13682,9 +13717,9 @@ function y_(e) {
|
|
|
13682
13717
|
a: a() ? "vertical" : "horizontal",
|
|
13683
13718
|
o: u() ? r() ?? void 0 : void 0,
|
|
13684
13719
|
i: u() ? s() : void 0,
|
|
13685
|
-
n:
|
|
13686
|
-
s:
|
|
13687
|
-
h: `mesurer-toolbar-surface msr:pointer-events-auto msr:absolute msr:flex msr:items-stretch msr:rounded-[12px] msr:bg-[#fff] msr:outline msr:outline-transparent ${
|
|
13720
|
+
n: Ze.tucked() ? "true" : void 0,
|
|
13721
|
+
s: Ze.pressedOff() ? "true" : void 0,
|
|
13722
|
+
h: `mesurer-toolbar-surface msr:pointer-events-auto msr:absolute msr:flex msr:items-stretch msr:rounded-[12px] msr:bg-[#fff] msr:outline msr:outline-transparent ${Xe() ? "msr:z-[110]" : "msr:z-[90]"}`,
|
|
13688
13723
|
r: {
|
|
13689
13724
|
left: `${t().x}px`,
|
|
13690
13725
|
top: `${t().y}px`,
|
|
@@ -14121,19 +14156,19 @@ var uv = 200, dv = (e) => {
|
|
|
14121
14156
|
let n = t.Event;
|
|
14122
14157
|
t.dispatchEvent(new n("focus"));
|
|
14123
14158
|
}, _v = (e, t) => {
|
|
14124
|
-
let n = /* @__PURE__ */ new Map(), r = (e) => {
|
|
14159
|
+
let n = /* @__PURE__ */ new Map(), r = !!t?.querySelector("[data-mesurer-responsive-stage]"), i = (e) => {
|
|
14125
14160
|
!e || n.has(e) || (n.set(e, {
|
|
14126
14161
|
value: e.style.getPropertyValue("display"),
|
|
14127
14162
|
priority: e.style.getPropertyPriority("display")
|
|
14128
14163
|
}), e.style.setProperty("display", "none", "important"));
|
|
14129
14164
|
};
|
|
14130
|
-
r(t);
|
|
14165
|
+
i(r ? t?.querySelector("[data-mesurer-toolbar='true']") ?? null : t);
|
|
14131
14166
|
for (let t of e.querySelectorAll([
|
|
14132
14167
|
"[data-mesurer-layer]",
|
|
14133
14168
|
"[data-mesurer-extension-toolbar='true']",
|
|
14134
14169
|
"[data-mesurer-inspector-ui='true']",
|
|
14135
14170
|
".mesurer-color-picker"
|
|
14136
|
-
].join(",")))
|
|
14171
|
+
].join(","))) i(t);
|
|
14137
14172
|
return () => {
|
|
14138
14173
|
for (let [e, t] of n) t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
|
|
14139
14174
|
n.clear();
|
|
@@ -15817,6 +15852,9 @@ function fy(e) {
|
|
|
15817
15852
|
ownerWindow: s,
|
|
15818
15853
|
onHostPick: (e) => {
|
|
15819
15854
|
A.pickColorAt(e);
|
|
15855
|
+
},
|
|
15856
|
+
get responsiveOpen() {
|
|
15857
|
+
return r.responsiveOpen === !0;
|
|
15820
15858
|
}
|
|
15821
15859
|
}), null), Q(n, Y(y_, {
|
|
15822
15860
|
model: t,
|
|
@@ -20956,9 +20994,7 @@ function YC(e) {
|
|
|
20956
20994
|
D() && [
|
|
20957
20995
|
"arrange",
|
|
20958
20996
|
"edit",
|
|
20959
|
-
"rulers"
|
|
20960
|
-
"screenshot",
|
|
20961
|
-
"recording"
|
|
20997
|
+
"rulers"
|
|
20962
20998
|
].includes(e) && O(!1);
|
|
20963
20999
|
}, ee = async () => {
|
|
20964
21000
|
if (A("responsive")) {
|
|
@@ -20968,54 +21004,54 @@ function YC(e) {
|
|
|
20968
21004
|
}
|
|
20969
21005
|
j() && await z("responsive-open"), y?.current.toolMode !== "select" && y?.current.toolMode !== "text-inspector" && await b?.run("select"), b?.clearSelection(), O(!0);
|
|
20970
21006
|
}
|
|
20971
|
-
}, H = (
|
|
21007
|
+
}, H = (e, t) => {
|
|
20972
21008
|
V(e.id), B(e, t);
|
|
20973
|
-
},
|
|
21009
|
+
}, U = H, W = (t, n) => {
|
|
20974
21010
|
n.disabled?.() || (V(t.id), Promise.resolve(n.run()).catch((r) => {
|
|
20975
21011
|
e.onPluginError?.(r, `${t.id}.${n.id}`);
|
|
20976
21012
|
}));
|
|
20977
|
-
},
|
|
21013
|
+
}, te = async (t, n, r) => {
|
|
20978
21014
|
try {
|
|
20979
21015
|
await n.set(r);
|
|
20980
21016
|
} catch (r) {
|
|
20981
21017
|
e.onPluginError?.(r, `${t}.${n.id}`);
|
|
20982
21018
|
}
|
|
20983
|
-
},
|
|
20984
|
-
|
|
20985
|
-
},
|
|
21019
|
+
}, ne = (e, t, n) => {
|
|
21020
|
+
te(e, t, n);
|
|
21021
|
+
}, re = async (e) => {
|
|
20986
21022
|
for (let t of n.settings()) {
|
|
20987
21023
|
if (e && !e.has(t.id)) continue;
|
|
20988
21024
|
let n = v.get(t.id);
|
|
20989
21025
|
if (n) for (let e of t.controls ?? []) {
|
|
20990
21026
|
let r = n.get(e.id);
|
|
20991
|
-
r !== void 0 && await
|
|
21027
|
+
r !== void 0 && await te(t.id, e, r);
|
|
20992
21028
|
}
|
|
20993
21029
|
}
|
|
20994
21030
|
};
|
|
20995
21031
|
return Hn(() => {
|
|
20996
|
-
let t = !0, o = 0, s = !1, c = Promise.resolve(), f = /* @__PURE__ */ new Set(), C = n, P = e, F = P.portalTarget ?? document.body, B = F.ownerDocument ?? document, V = B.defaultView ?? window,
|
|
21032
|
+
let t = !0, o = 0, s = !1, c = Promise.resolve(), f = /* @__PURE__ */ new Set(), C = n, P = e, F = P.portalTarget ?? document.body, B = F.ownerDocument ?? document, V = B.defaultView ?? window, W = P.pageTarget ?? B.body, te = () => {
|
|
20997
21033
|
if (!y) throw Error("Mesurer renderer model is unavailable for runtime bridge setup.");
|
|
20998
21034
|
return y;
|
|
20999
|
-
},
|
|
21000
|
-
let e =
|
|
21035
|
+
}, ne = () => {
|
|
21036
|
+
let e = te().rendererRoot;
|
|
21001
21037
|
if (!e?.isConnected) throw Error("Mesurer renderer root is unavailable for runtime bridge setup.");
|
|
21002
21038
|
return e;
|
|
21003
|
-
},
|
|
21039
|
+
}, ie = () => {
|
|
21004
21040
|
if (!b) throw Error("Mesurer built-in controller is unavailable for runtime bridge setup.");
|
|
21005
21041
|
return b;
|
|
21006
|
-
},
|
|
21007
|
-
let t =
|
|
21008
|
-
return e(t),
|
|
21009
|
-
let n =
|
|
21042
|
+
}, G = () => te().current.settings.theme, ae = (e) => {
|
|
21043
|
+
let t = G();
|
|
21044
|
+
return e(t), te().subscribe(() => {
|
|
21045
|
+
let n = G();
|
|
21010
21046
|
n !== t && (t = n, e(n));
|
|
21011
21047
|
});
|
|
21012
|
-
},
|
|
21048
|
+
}, oe = () => {
|
|
21013
21049
|
let e = B.createElement("div");
|
|
21014
21050
|
e.dataset.mesurerInspectorUi = "true";
|
|
21015
|
-
let t =
|
|
21051
|
+
let t = ae((t) => {
|
|
21016
21052
|
e.dataset.theme = t;
|
|
21017
21053
|
});
|
|
21018
|
-
|
|
21054
|
+
ne().append(e);
|
|
21019
21055
|
let n = !1;
|
|
21020
21056
|
return {
|
|
21021
21057
|
element: e,
|
|
@@ -21023,32 +21059,32 @@ function YC(e) {
|
|
|
21023
21059
|
n || (n = !0, t(), e.remove());
|
|
21024
21060
|
}
|
|
21025
21061
|
};
|
|
21026
|
-
},
|
|
21027
|
-
model:
|
|
21062
|
+
}, se = (e) => BC({
|
|
21063
|
+
model: te(),
|
|
21028
21064
|
ownerDocument: B,
|
|
21029
21065
|
ownerWindow: V,
|
|
21030
21066
|
uiRoot: F,
|
|
21031
|
-
pageTarget:
|
|
21067
|
+
pageTarget: W,
|
|
21032
21068
|
persistenceKey: e ? `${P.persistKey ?? "mesurer-plugin-settings"}:${e}:${V.location.origin}` : void 0
|
|
21033
|
-
}),
|
|
21034
|
-
|
|
21035
|
-
let
|
|
21069
|
+
}), ce = B.createElement("style");
|
|
21070
|
+
ce.dataset.mesurerPluginVisibility = "true", ce.dataset.mesurerInspectorUi = "true", ce.textContent = I(), F.append(ce);
|
|
21071
|
+
let le = P.persistKey ? `${P.persistKey}:plugins` : HC, ue = `${le}:availability`, de = /* @__PURE__ */ new Map();
|
|
21036
21072
|
try {
|
|
21037
|
-
let e = V.localStorage.getItem(
|
|
21073
|
+
let e = V.localStorage.getItem(ue);
|
|
21038
21074
|
if (e) {
|
|
21039
21075
|
let t = JSON.parse(e);
|
|
21040
21076
|
if (t?.version === 1 || t?.version === 2 || t?.version === 3) {
|
|
21041
|
-
for (let [e, n] of Object.entries(t.enabled ?? {})) (t.version !== 2 || e !== "mesurer.codex") &&
|
|
21077
|
+
for (let [e, n] of Object.entries(t.enabled ?? {})) (t.version !== 2 || e !== "mesurer.codex") && de.set(e, n);
|
|
21042
21078
|
for (let [e, n] of Object.entries(t.state ?? {})) g.set(e, n);
|
|
21043
21079
|
}
|
|
21044
21080
|
}
|
|
21045
21081
|
} catch (e) {
|
|
21046
21082
|
P.onPluginError?.(e, "plugin-registry-persistence");
|
|
21047
21083
|
}
|
|
21048
|
-
let
|
|
21084
|
+
let fe = () => {
|
|
21049
21085
|
let e = Object.fromEntries([...u.keys()].map((e) => [e, C.has(e)])), t = Object.fromEntries(g);
|
|
21050
21086
|
try {
|
|
21051
|
-
V.localStorage.setItem(
|
|
21087
|
+
V.localStorage.setItem(ue, JSON.stringify({
|
|
21052
21088
|
version: 3,
|
|
21053
21089
|
enabled: e,
|
|
21054
21090
|
state: t
|
|
@@ -21056,31 +21092,27 @@ function YC(e) {
|
|
|
21056
21092
|
} catch (e) {
|
|
21057
21093
|
P.onPluginError?.(e, "plugin-registry-persistence");
|
|
21058
21094
|
}
|
|
21059
|
-
},
|
|
21095
|
+
}, pe = () => {
|
|
21060
21096
|
o = 0;
|
|
21061
21097
|
try {
|
|
21062
|
-
V.localStorage.setItem(
|
|
21098
|
+
V.localStorage.setItem(le, JSON.stringify(C.state.serialize("persist")));
|
|
21063
21099
|
} catch (e) {
|
|
21064
21100
|
P.onPluginError?.(e, "plugin-persistence");
|
|
21065
21101
|
}
|
|
21102
|
+
}, me = () => {
|
|
21103
|
+
V.clearTimeout(o), o = V.setTimeout(pe, 50);
|
|
21066
21104
|
}, he = () => {
|
|
21067
|
-
V.clearTimeout(o),
|
|
21068
|
-
}, ge = () =>
|
|
21069
|
-
|
|
21070
|
-
|
|
21071
|
-
|
|
21072
|
-
let ve = C.subscribe((e) => {
|
|
21073
|
-
if (w((e) => e + 1), le.textContent = I(), D() && (j() || n.tools().some((e) => [
|
|
21074
|
-
"screenshot",
|
|
21075
|
-
"recording",
|
|
21076
|
-
"rulers"
|
|
21077
|
-
].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.")) {
|
|
21105
|
+
o && (V.clearTimeout(o), pe());
|
|
21106
|
+
}, ge = () => he();
|
|
21107
|
+
V.addEventListener("pagehide", ge);
|
|
21108
|
+
let _e = C.subscribe((e) => {
|
|
21109
|
+
if (w((e) => e + 1), ce.textContent = I(), D() && (j() || n.tools().some((e) => e.id === "rulers" && (e.active?.() ?? !1))) && O(!1), (e.reason === "state" || e.reason === "history" || e.reason === "remove" || e.reason === "replace") && me(), T() && !s && (e.reason === "load" || e.reason === "remove" || e.reason === "replace") && fe(), e.reason === "remove" && e.pluginId?.startsWith("mesurer.")) {
|
|
21078
21110
|
let t = e.pluginId.slice(8);
|
|
21079
21111
|
GC(t) && t !== "responsive" && b?.deactivate(t), t === "responsive" && O(!1);
|
|
21080
21112
|
}
|
|
21081
21113
|
});
|
|
21082
21114
|
P.onPluginHost?.(C);
|
|
21083
|
-
let
|
|
21115
|
+
let ve = async (e, n = e.id) => {
|
|
21084
21116
|
if (!t) return !1;
|
|
21085
21117
|
f.add(e);
|
|
21086
21118
|
try {
|
|
@@ -21091,77 +21123,77 @@ function YC(e) {
|
|
|
21091
21123
|
f.delete(e);
|
|
21092
21124
|
}
|
|
21093
21125
|
return t ? !0 : (C.plugin(e.id) === e && C.remove(e.id), !1);
|
|
21094
|
-
},
|
|
21126
|
+
}, ye = (e) => ve(e), be = (e) => {
|
|
21095
21127
|
for (let t of C.settings()) !e.has(t.id) || v.has(t.id) || v.set(t.id, new Map((t.controls ?? []).map((e) => [e.id, e.value()])));
|
|
21096
|
-
},
|
|
21128
|
+
}, xe = async (e) => {
|
|
21097
21129
|
if (!t || C.has(e.id)) return C.has(e.id);
|
|
21098
21130
|
let n = new Set(C.settings().map((e) => e.id)), r = new Set(C.describe().state.map((e) => e.id));
|
|
21099
21131
|
try {
|
|
21100
21132
|
let i = a(await e.create());
|
|
21101
21133
|
if (!t) return !1;
|
|
21102
21134
|
if (i.id !== e.id) throw Error(`Plugin registration ${e.id} created mismatched plugin ${i.id}.`);
|
|
21103
|
-
if (!await
|
|
21135
|
+
if (!await ve(i, e.id)) return !1;
|
|
21104
21136
|
let o = new Set(m.get(e.id) ?? e.settingsIds ?? []);
|
|
21105
21137
|
for (let e of C.settings()) n.has(e.id) || o.add(e.id);
|
|
21106
21138
|
m.set(e.id, o);
|
|
21107
21139
|
let s = new Set(h.get(e.id) ?? []);
|
|
21108
21140
|
for (let e of C.describe().state) r.has(e.id) || s.add(e.id);
|
|
21109
|
-
h.set(e.id, s),
|
|
21141
|
+
h.set(e.id, s), be(o);
|
|
21110
21142
|
let c = g.get(e.id);
|
|
21111
21143
|
return c && (C.state.restore(c, "persist"), g.delete(e.id)), !0;
|
|
21112
21144
|
} catch (n) {
|
|
21113
21145
|
return t && P.onPluginError?.(n, e.id), !1;
|
|
21114
21146
|
}
|
|
21115
|
-
},
|
|
21147
|
+
}, Se = (e) => {
|
|
21116
21148
|
let t = h.get(e);
|
|
21117
21149
|
if (!t?.size) return;
|
|
21118
21150
|
let n = C.state.serialize("persist"), r = {};
|
|
21119
21151
|
for (let e of t) Object.prototype.hasOwnProperty.call(n, e) && (r[e] = n[e]);
|
|
21120
21152
|
Object.keys(r).length && g.set(e, r);
|
|
21121
|
-
},
|
|
21153
|
+
}, Ce = async (e, t = !0) => C.has(e) ? (await C.hook.emit(Oc, e), t ? Se(e) : g.delete(e), C.remove(e)) : !1, we = async (e, t, n = !0) => {
|
|
21122
21154
|
let r = u.get(e);
|
|
21123
21155
|
if (!(!r || _.has(e) || C.has(e) === t)) {
|
|
21124
21156
|
_.add(e), d.delete(e), w((e) => e + 1);
|
|
21125
21157
|
try {
|
|
21126
|
-
t ? await
|
|
21158
|
+
t ? await xe(r) : await Ce(e, n), s || fe();
|
|
21127
21159
|
} finally {
|
|
21128
21160
|
_.delete(e), w((e) => e + 1);
|
|
21129
21161
|
}
|
|
21130
21162
|
}
|
|
21131
|
-
},
|
|
21163
|
+
}, Te = (e) => {
|
|
21132
21164
|
let t = c.then(e, e);
|
|
21133
21165
|
return c = t.catch(() => void 0), t;
|
|
21134
21166
|
};
|
|
21135
21167
|
x = (e, t) => {
|
|
21136
|
-
|
|
21137
|
-
await
|
|
21168
|
+
Te(async () => {
|
|
21169
|
+
await we(e, t);
|
|
21138
21170
|
}).catch((t) => {
|
|
21139
21171
|
d.set(e, t instanceof Error ? t.message : String(t)), w((e) => e + 1), P.onPluginError?.(t, e);
|
|
21140
21172
|
});
|
|
21141
|
-
}, S = () =>
|
|
21173
|
+
}, S = () => Te(async () => {
|
|
21142
21174
|
s = !0;
|
|
21143
21175
|
try {
|
|
21144
|
-
await
|
|
21176
|
+
await re();
|
|
21145
21177
|
let e = [...u.values()].sort((e, t) => (e.order ?? 0) - (t.order ?? 0));
|
|
21146
21178
|
for (let t of e) {
|
|
21147
21179
|
let e = p.has(t.id);
|
|
21148
|
-
!C.has(t.id) && (g.delete(t.id), !e || !await
|
|
21180
|
+
!C.has(t.id) && (g.delete(t.id), !e || !await xe(t)) || (await re(m.get(t.id)), e ? g.delete(t.id) : await Ce(t.id));
|
|
21149
21181
|
}
|
|
21150
21182
|
} finally {
|
|
21151
21183
|
s = !1;
|
|
21152
21184
|
}
|
|
21153
|
-
o && V.clearTimeout(o),
|
|
21185
|
+
o && V.clearTimeout(o), pe(), fe();
|
|
21154
21186
|
});
|
|
21155
|
-
let
|
|
21187
|
+
let Ee = (e) => {
|
|
21156
21188
|
let t = y?.current;
|
|
21157
21189
|
return t ? e === "select" ? t.toolMode === "select" : e === "xray" ? t.xrayVisible : e === "color-picker" ? t.colorPickerActive : e === "rulers" ? t.rulersVisible : e === "text-inspector" ? t.toolMode === "text-inspector" : e === "guides" ? t.toolMode === "guides" : e === "settings" ? t.settingsOpen : e === "responsive" && D() : !1;
|
|
21158
|
-
},
|
|
21190
|
+
}, De = async (e) => {
|
|
21159
21191
|
if (M(e)) return;
|
|
21160
21192
|
if (e === "responsive") {
|
|
21161
21193
|
ee();
|
|
21162
21194
|
return;
|
|
21163
21195
|
}
|
|
21164
|
-
if (D() &&
|
|
21196
|
+
if (D() && e === "rulers" && O(!1), e !== "settings" && e !== "rulers" && e !== "guides" && j() && (await z("select-mode-builtin"), e === "select" || Ee(e))) return;
|
|
21165
21197
|
let t = k(e);
|
|
21166
21198
|
if (t) {
|
|
21167
21199
|
await R(t, {
|
|
@@ -21171,16 +21203,16 @@ function YC(e) {
|
|
|
21171
21203
|
return;
|
|
21172
21204
|
}
|
|
21173
21205
|
if (!A(e)) return;
|
|
21174
|
-
let n =
|
|
21175
|
-
if (e === "guides" && j() &&
|
|
21206
|
+
let n = ie();
|
|
21207
|
+
if (e === "guides" && j() && Ee("guides")) {
|
|
21176
21208
|
await n.run("select");
|
|
21177
21209
|
return;
|
|
21178
21210
|
}
|
|
21179
21211
|
await n.run(e);
|
|
21180
21212
|
};
|
|
21181
21213
|
(async () => {
|
|
21182
|
-
for (let e of l) await
|
|
21183
|
-
if (t && (await
|
|
21214
|
+
for (let e of l) await ye(e);
|
|
21215
|
+
if (t && (await ye({
|
|
21184
21216
|
id: "mesurer.runtime-bridge",
|
|
21185
21217
|
version: i,
|
|
21186
21218
|
provides: ["runtime:solid"],
|
|
@@ -21189,32 +21221,31 @@ function YC(e) {
|
|
|
21189
21221
|
ownerDocument: B,
|
|
21190
21222
|
ownerWindow: V,
|
|
21191
21223
|
portalTarget: F,
|
|
21192
|
-
pageTarget:
|
|
21193
|
-
rendererRoot:
|
|
21194
|
-
currentToolMode: () =>
|
|
21224
|
+
pageTarget: W,
|
|
21225
|
+
rendererRoot: ne(),
|
|
21226
|
+
currentToolMode: () => te().current.toolMode,
|
|
21195
21227
|
currentToolbarMode: () => j() ? "edit" : "select",
|
|
21196
|
-
|
|
21197
|
-
|
|
21198
|
-
|
|
21199
|
-
|
|
21200
|
-
createInspectorMount: se
|
|
21228
|
+
theme: G,
|
|
21229
|
+
subscribeTheme: ae,
|
|
21230
|
+
createWorkspaceRuntime: se,
|
|
21231
|
+
createInspectorMount: oe
|
|
21201
21232
|
};
|
|
21202
21233
|
e.service.provide("runtime:solid", t), yy(e), jb(e, t), jC(e, t);
|
|
21203
|
-
for (let t of VC) e.command.register(KC(t), () =>
|
|
21234
|
+
for (let t of VC) e.command.register(KC(t), () => De(t));
|
|
21204
21235
|
}
|
|
21205
21236
|
}), t)) {
|
|
21206
21237
|
for (let e of [...u.values()].sort((e, t) => (e.order ?? 0) - (t.order ?? 0))) {
|
|
21207
|
-
let n =
|
|
21238
|
+
let n = de.has(e.id) ? de.get(e.id) === !0 : e.enabled !== !1;
|
|
21208
21239
|
if (C.has(e.id)) {
|
|
21209
|
-
n || await
|
|
21240
|
+
n || await Ce(e.id);
|
|
21210
21241
|
continue;
|
|
21211
21242
|
}
|
|
21212
|
-
if (n && await
|
|
21243
|
+
if (n && await xe(e), !t) return;
|
|
21213
21244
|
}
|
|
21214
21245
|
v.clear();
|
|
21215
21246
|
for (let e of C.settings()) v.set(e.id, new Map((e.controls ?? []).map((e) => [e.id, e.value()])));
|
|
21216
21247
|
try {
|
|
21217
|
-
let e = V.localStorage.getItem(
|
|
21248
|
+
let e = V.localStorage.getItem(le);
|
|
21218
21249
|
if (e) {
|
|
21219
21250
|
let t = JSON.parse(e);
|
|
21220
21251
|
C.state.restore(t, "persist");
|
|
@@ -21222,37 +21253,37 @@ function YC(e) {
|
|
|
21222
21253
|
} catch (e) {
|
|
21223
21254
|
P.onPluginError?.(e, "plugin-persistence");
|
|
21224
21255
|
}
|
|
21225
|
-
t && (E(!0),
|
|
21256
|
+
t && (E(!0), ce.textContent = I(), P.onPluginsReady?.(C));
|
|
21226
21257
|
}
|
|
21227
21258
|
})();
|
|
21228
|
-
let
|
|
21259
|
+
let Oe = (e) => {
|
|
21229
21260
|
let t = e.key.toLowerCase(), n = e.metaKey || e.ctrlKey;
|
|
21230
21261
|
return n && !e.shiftKey && !e.altKey && t === "," ? "settings" : n || e.shiftKey || e.altKey ? null : t === "s" ? "select" : t === "a" ? "text-inspector" : t === "g" ? "guides" : t === "p" ? "color-picker" : t === "x" ? "xray" : t === "r" ? "rulers" : t === "b" ? "responsive" : null;
|
|
21231
|
-
},
|
|
21262
|
+
}, ke = (e) => {
|
|
21232
21263
|
if (zl(e, V) || y?.current.settings.shortcutsEnabled === !1) return;
|
|
21233
21264
|
let t = e.key.toLowerCase(), n = e.metaKey || e.ctrlKey;
|
|
21234
21265
|
if (!n && !e.shiftKey && !e.altKey && (t === "1" || t === "2")) {
|
|
21235
21266
|
let n = L();
|
|
21236
21267
|
if (t === "1" && n?.active?.()) {
|
|
21237
|
-
e.preventDefault(), e.stopImmediatePropagation(),
|
|
21268
|
+
e.preventDefault(), e.stopImmediatePropagation(), U(n, "toolbar-mode-shortcut");
|
|
21238
21269
|
return;
|
|
21239
21270
|
}
|
|
21240
21271
|
if (t === "2" && n && !n.disabled?.() && !n.active?.()) {
|
|
21241
|
-
e.preventDefault(), e.stopImmediatePropagation(),
|
|
21272
|
+
e.preventDefault(), e.stopImmediatePropagation(), U(n, "toolbar-mode-shortcut");
|
|
21242
21273
|
return;
|
|
21243
21274
|
}
|
|
21244
21275
|
}
|
|
21245
|
-
let r =
|
|
21276
|
+
let r = Oe(e);
|
|
21246
21277
|
if (r === "responsive") {
|
|
21247
21278
|
if (!A("responsive")) {
|
|
21248
21279
|
e.preventDefault(), e.stopImmediatePropagation();
|
|
21249
21280
|
return;
|
|
21250
21281
|
}
|
|
21251
|
-
e.preventDefault(), e.stopImmediatePropagation(), e.repeat ||
|
|
21282
|
+
e.preventDefault(), e.stopImmediatePropagation(), e.repeat || De("responsive").catch(() => void 0);
|
|
21252
21283
|
return;
|
|
21253
21284
|
}
|
|
21254
21285
|
if (r && r !== "settings" && j()) {
|
|
21255
|
-
e.preventDefault(), e.stopImmediatePropagation(),
|
|
21286
|
+
e.preventDefault(), e.stopImmediatePropagation(), De(r).catch(() => void 0);
|
|
21256
21287
|
return;
|
|
21257
21288
|
}
|
|
21258
21289
|
if (r && M(r)) {
|
|
@@ -21261,7 +21292,7 @@ function YC(e) {
|
|
|
21261
21292
|
}
|
|
21262
21293
|
let i = r ? k(r) : void 0;
|
|
21263
21294
|
if (r && i) {
|
|
21264
|
-
e.preventDefault(), e.stopImmediatePropagation(),
|
|
21295
|
+
e.preventDefault(), e.stopImmediatePropagation(), U(i, {
|
|
21265
21296
|
source: "builtin-shortcut",
|
|
21266
21297
|
builtin: r
|
|
21267
21298
|
});
|
|
@@ -21277,7 +21308,7 @@ function YC(e) {
|
|
|
21277
21308
|
}
|
|
21278
21309
|
let a = N().find((t) => t.shortcut && !t.disabled?.() && qC(e, t.shortcut));
|
|
21279
21310
|
if (a) {
|
|
21280
|
-
e.preventDefault(), e.stopImmediatePropagation(),
|
|
21311
|
+
e.preventDefault(), e.stopImmediatePropagation(), H(a);
|
|
21281
21312
|
return;
|
|
21282
21313
|
}
|
|
21283
21314
|
if (n && t === "z" && (e.shiftKey ? C.redo() : C.undo())) {
|
|
@@ -21286,10 +21317,10 @@ function YC(e) {
|
|
|
21286
21317
|
}
|
|
21287
21318
|
(n && t === "," && !A("settings") || t === "s" && !A("select") || t === "a" && !A("text-inspector") || t === "g" && !A("guides") || (t === "h" || t === "v") && !A("guides") || t === "p" && !A("color-picker") || t === "x" && !A("xray") || t === "r" && !A("rulers") || e.key === "Alt" && !A("distance")) && (e.preventDefault(), e.stopImmediatePropagation());
|
|
21288
21319
|
};
|
|
21289
|
-
return V.addEventListener("keydown",
|
|
21320
|
+
return V.addEventListener("keydown", ke, !0), () => {
|
|
21290
21321
|
t = !1;
|
|
21291
21322
|
for (let e of f) C.cancelLoad(e);
|
|
21292
|
-
f.clear(),
|
|
21323
|
+
f.clear(), he(), V.removeEventListener("pagehide", ge), V.removeEventListener("keydown", ke, !0), _e(), ce.remove(), y = null, b = null, x = () => void 0, S = async () => void 0, r && C.dispose();
|
|
21293
21324
|
};
|
|
21294
21325
|
}), Y(cg, {
|
|
21295
21326
|
runtime: {
|
|
@@ -21297,7 +21328,7 @@ function YC(e) {
|
|
|
21297
21328
|
generalSections: F,
|
|
21298
21329
|
version: () => i,
|
|
21299
21330
|
setEnabled: (e, t) => x(e, t),
|
|
21300
|
-
update:
|
|
21331
|
+
update: ne,
|
|
21301
21332
|
reset: async () => {
|
|
21302
21333
|
await S();
|
|
21303
21334
|
}
|
|
@@ -21313,9 +21344,9 @@ function YC(e) {
|
|
|
21313
21344
|
return N();
|
|
21314
21345
|
},
|
|
21315
21346
|
onPluginTool: (e) => {
|
|
21316
|
-
|
|
21347
|
+
H(e);
|
|
21317
21348
|
},
|
|
21318
|
-
onPluginToolMenuItem:
|
|
21349
|
+
onPluginToolMenuItem: W,
|
|
21319
21350
|
isBuiltinActionDisabled: M,
|
|
21320
21351
|
onBuiltinController: (e) => {
|
|
21321
21352
|
b = e;
|
|
@@ -24702,7 +24733,7 @@ var Rw = "mesurer.layout-guides", zw = "layout-guides:v1", Bw = "mesurer.layout-
|
|
|
24702
24733
|
error: null
|
|
24703
24734
|
}));
|
|
24704
24735
|
}, U = async (e) => {
|
|
24705
|
-
if (
|
|
24736
|
+
if (h.status === "recording") {
|
|
24706
24737
|
await B();
|
|
24707
24738
|
return;
|
|
24708
24739
|
}
|
|
@@ -25373,7 +25404,7 @@ var Rw = "mesurer.layout-guides", zw = "layout-guides:v1", Bw = "mesurer.layout-
|
|
|
25373
25404
|
d.style.visibility = "", u(), a.finishCapture(), x = !1;
|
|
25374
25405
|
}
|
|
25375
25406
|
}, R = async () => {
|
|
25376
|
-
if (
|
|
25407
|
+
if (T().toolEnabled) {
|
|
25377
25408
|
if (w()) {
|
|
25378
25409
|
I();
|
|
25379
25410
|
return;
|
|
@@ -25895,7 +25926,7 @@ function UD(e) {
|
|
|
25895
25926
|
}
|
|
25896
25927
|
//#endregion
|
|
25897
25928
|
//#region src/version.ts
|
|
25898
|
-
var WD = "0.2.3-beta.
|
|
25929
|
+
var WD = "0.2.3-beta.11", GD = by, KD = xy, qD = () => ({
|
|
25899
25930
|
...gb(),
|
|
25900
25931
|
version: WD
|
|
25901
25932
|
}), 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) => {
|