mesurer-solid 0.2.0-beta.4 → 0.2.0-beta.5

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/plugins.js CHANGED
@@ -2265,40 +2265,50 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2265
2265
  }, Vr = async (e) => (await zr(e)).capture(e), Hr = (e) => {
2266
2266
  let t = Rr.get(e);
2267
2267
  Rr.delete(e), t?.release(e);
2268
- }, Ur = Vr, Wr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, Gr = /* @__PURE__ */ new WeakMap(), Kr = (e) => (Gr.get(e) ?? 0) > 0, qr = /* @__PURE__ */ new WeakMap(), Jr = (e) => {
2268
+ }, Ur = Vr, Wr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, Gr = (e) => e;
2269
+ function Kr(e, t) {
2270
+ if (!(e instanceof Gr(t).Element)) return !1;
2271
+ let n = e;
2272
+ for (; n;) {
2273
+ if (n.getAttribute("data-mesurer-inspector-ui") === "true" || n.hasAttribute("data-mesurer-toolbar") || n.hasAttribute("data-mesurer-settings")) return !0;
2274
+ n = n.parentElement;
2275
+ }
2276
+ return !1;
2277
+ }
2278
+ var qr = /* @__PURE__ */ new WeakMap(), Jr = (e) => (qr.get(e) ?? 0) > 0, Yr = /* @__PURE__ */ new WeakMap(), Xr = (e) => {
2269
2279
  let t = e.location.pathname.replace(/\/+$/, "") || "/", n = new URLSearchParams(e.location.search);
2270
2280
  n.sort();
2271
2281
  let r = n.toString(), i = e.location.hash, a = i.startsWith("#/") ? i : "";
2272
2282
  return `${t}${r ? `?${r}` : ""}${a}`;
2273
- }, Yr = (e, t) => {
2274
- let n = Jr(e);
2283
+ }, Zr = (e, t) => {
2284
+ let n = Xr(e);
2275
2285
  for (let e of t.listeners) e(n);
2276
- }, Xr = (e) => {
2277
- let t = qr.get(e);
2286
+ }, Qr = (e) => {
2287
+ let t = Yr.get(e);
2278
2288
  if (t) return t;
2279
2289
  let n = e.history, r = n.pushState, i = n.replaceState, a = {
2280
2290
  listeners: /* @__PURE__ */ new Set(),
2281
2291
  pushState: r,
2282
2292
  replaceState: i,
2283
- handleNativeChange: () => Yr(e, a)
2293
+ handleNativeChange: () => Zr(e, a)
2284
2294
  };
2285
2295
  return n.pushState = function(...t) {
2286
2296
  let n = r.apply(this, t);
2287
- return Yr(e, a), n;
2297
+ return Zr(e, a), n;
2288
2298
  }, n.replaceState = function(...t) {
2289
2299
  let n = i.apply(this, t);
2290
- return Yr(e, a), n;
2291
- }, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), qr.set(e, a), a;
2292
- }, Zr = (e, t) => {
2293
- t.listeners.size > 0 || qr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), qr.delete(e));
2294
- }, Qr = (e, t) => {
2295
- let n = Xr(e);
2300
+ return Zr(e, a), n;
2301
+ }, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), Yr.set(e, a), a;
2302
+ }, $r = (e, t) => {
2303
+ t.listeners.size > 0 || Yr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), Yr.delete(e));
2304
+ }, ei = (e, t) => {
2305
+ let n = Qr(e);
2296
2306
  n.listeners.add(t);
2297
2307
  let r = !1;
2298
2308
  return () => {
2299
- r || (r = !0, n.listeners.delete(t), Zr(e, n));
2309
+ r || (r = !0, n.listeners.delete(t), $r(e, n));
2300
2310
  };
2301
- }, $r = "--mesurer-nested-scroll-x", ei = "--mesurer-nested-scroll-y", ti = (e, t, n, r = {}) => {
2311
+ }, ti = "--mesurer-nested-scroll-x", ni = "--mesurer-nested-scroll-y", ri = (e, t, n, r = {}) => {
2302
2312
  let i = e, a = /* @__PURE__ */ new Map(), o = t.ownerDocument, s = r.trackWindow === !0, c = (e) => {
2303
2313
  if (e.parentElement) return e.parentElement;
2304
2314
  let t = e.getRootNode();
@@ -2324,7 +2334,7 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2324
2334
  let i = `${n}px`;
2325
2335
  r !== i && e.style.setProperty(t, i);
2326
2336
  }, g = () => {
2327
- if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, $r, d), h(e, ei, f);
2337
+ if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, ti, d), h(e, ni, f);
2328
2338
  }, _ = (e, t, n) => {
2329
2339
  let r = t - e.left, i = n - e.top;
2330
2340
  return r === 0 && i === 0 ? !1 : (e.left = t, e.top = n, d -= r, f -= i, !0);
@@ -2357,21 +2367,21 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2357
2367
  if (!p) {
2358
2368
  p = !0, s && e.removeEventListener("scroll", y, !0);
2359
2369
  for (let e of a.keys()) e.removeEventListener("scroll", v, !0);
2360
- for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty($r), e.style.removeProperty(ei);
2370
+ for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty(ti), e.style.removeProperty(ni);
2361
2371
  a.clear();
2362
2372
  }
2363
2373
  }
2364
2374
  };
2365
- }, ni = 5;
2366
- Array.from({ length: 801 }, (e, t) => t * ni), Ht(null);
2367
- var ri = "mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-control msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]";
2368
- function ii() {
2375
+ }, ii = 5;
2376
+ Array.from({ length: 801 }, (e, t) => t * ii), Ht(null);
2377
+ var ai = "mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-control msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]";
2378
+ function oi() {
2369
2379
  return Y("span", {
2370
2380
  "aria-hidden": "true",
2371
2381
  class: "msr:pointer-events-none msr:absolute msr:right-2 msr:top-1/2 msr:size-1.5 msr:-translate-y-1/2 msr:rotate-45 msr:border-r msr:border-b msr:border-ink-500"
2372
2382
  });
2373
2383
  }
2374
- function ai(e) {
2384
+ function si(e) {
2375
2385
  let t = () => e.variant !== "legacy";
2376
2386
  var n = Y("div"), r = Y("div");
2377
2387
  return X(n, r), Z(r, () => e.left), Z(n, (() => {
@@ -2389,7 +2399,7 @@ function ai(e) {
2389
2399
  e !== i?.e && Q(n, "class", e, i?.e), t !== i?.t && Q(r, "class", t, i?.t);
2390
2400
  }), n;
2391
2401
  }
2392
- function oi(e) {
2402
+ function ci(e) {
2393
2403
  let t = () => e.variant !== "legacy", n = () => {
2394
2404
  let t = lr(e.value);
2395
2405
  if (t) return t;
@@ -2419,7 +2429,7 @@ function oi(e) {
2419
2429
  e.onChange(n);
2420
2430
  }, v = () => t() ? `msr:col-span-2 msr:grid msr:h-8 msr:w-full ${e.columns ?? "msr:grid-cols-[78px_150px]"} msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700` : "msr:col-span-2 msr:grid msr:w-full msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700";
2421
2431
  var y = Y("div"), b = Y("span");
2422
- return X(y, b), Z(b, () => e.label), Z(y, J(ai, {
2432
+ return X(y, b), Z(b, () => e.label), Z(y, J(si, {
2423
2433
  get variant() {
2424
2434
  return e.variant;
2425
2435
  },
@@ -2502,7 +2512,7 @@ function oi(e) {
2502
2512
  Q(y, "class", e, t);
2503
2513
  }), y;
2504
2514
  }
2505
- var si = (e) => (() => {
2515
+ var li = (e) => (() => {
2506
2516
  var t = Y("svg", {
2507
2517
  xmlns: "http://www.w3.org/2000/svg",
2508
2518
  viewBox: "0 0 256 256",
@@ -2517,7 +2527,7 @@ var si = (e) => (() => {
2517
2527
  }), ({ e, t: n, a: r }, i) => {
2518
2528
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2519
2529
  }), t;
2520
- })(), ci = (e) => J(si, {
2530
+ })(), ui = (e) => J(li, {
2521
2531
  get size() {
2522
2532
  return e.size ?? 8;
2523
2533
  },
@@ -2527,7 +2537,7 @@ var si = (e) => (() => {
2527
2537
  get children() {
2528
2538
  return Y("path", { d: "M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z" });
2529
2539
  }
2530
- }), li = (e) => J(si, {
2540
+ }), di = (e) => J(li, {
2531
2541
  get size() {
2532
2542
  return e.size ?? 12;
2533
2543
  },
@@ -2537,8 +2547,8 @@ var si = (e) => (() => {
2537
2547
  get children() {
2538
2548
  return Y("path", { d: "M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z" });
2539
2549
  }
2540
- }), ui = (e, t, n) => t * 256 / e / n, di = (e) => {
2541
- let t = e.size ?? 20, n = ui(t, e.strokePx ?? 1, e.frameScale ?? 1);
2550
+ }), fi = (e, t, n) => t * 256 / e / n, pi = (e) => {
2551
+ let t = e.size ?? 20, n = fi(t, e.strokePx ?? 1, e.frameScale ?? 1);
2542
2552
  var r = Y("svg", {
2543
2553
  xmlns: "http://www.w3.org/2000/svg",
2544
2554
  width: t,
@@ -2562,7 +2572,7 @@ var si = (e) => (() => {
2562
2572
  return X(r, i), X(r, a), Z(a, () => e.children), q(() => e.class, (e, t) => {
2563
2573
  Q(r, "class", e, t);
2564
2574
  }), r;
2565
- }, fi = (e) => J(di, {
2575
+ }, mi = (e) => J(pi, {
2566
2576
  get size() {
2567
2577
  return e.size ?? 20;
2568
2578
  },
@@ -2572,7 +2582,7 @@ var si = (e) => (() => {
2572
2582
  get children() {
2573
2583
  return Y("path", { d: "M128 48v160M48 128h160" });
2574
2584
  }
2575
- }), pi = (e) => J(di, {
2585
+ }), hi = (e) => J(pi, {
2576
2586
  get size() {
2577
2587
  return e.size ?? 20;
2578
2588
  },
@@ -2582,7 +2592,7 @@ var si = (e) => (() => {
2582
2592
  get children() {
2583
2593
  return Y("path", { d: "M101.33 48v160M154.67 48v160" });
2584
2594
  }
2585
- }), mi = (e) => J(di, {
2595
+ }), gi = (e) => J(pi, {
2586
2596
  get size() {
2587
2597
  return e.size ?? 20;
2588
2598
  },
@@ -2592,7 +2602,7 @@ var si = (e) => (() => {
2592
2602
  get children() {
2593
2603
  return Y("path", { d: "M48 101.33h160M48 154.67h160" });
2594
2604
  }
2595
- }), hi = (e) => (() => {
2605
+ }), _i = (e) => (() => {
2596
2606
  var t = Y("svg", {
2597
2607
  xmlns: "http://www.w3.org/2000/svg",
2598
2608
  viewBox: "0 0 12 12",
@@ -2611,7 +2621,7 @@ var si = (e) => (() => {
2611
2621
  }), ({ e, t: n, a: r }, i) => {
2612
2622
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2613
2623
  }), t;
2614
- })(), gi = (e) => (() => {
2624
+ })(), vi = (e) => (() => {
2615
2625
  var t = Y("svg", {
2616
2626
  xmlns: "http://www.w3.org/2000/svg",
2617
2627
  viewBox: "0 0 16 16",
@@ -2635,7 +2645,7 @@ var si = (e) => (() => {
2635
2645
  }), ({ e, t: n, a: r }, i) => {
2636
2646
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2637
2647
  }), t;
2638
- })(), _i = (e) => (() => {
2648
+ })(), yi = (e) => (() => {
2639
2649
  var t = Y("svg", {
2640
2650
  xmlns: "http://www.w3.org/2000/svg",
2641
2651
  viewBox: "0 0 16 16",
@@ -2659,7 +2669,7 @@ var si = (e) => (() => {
2659
2669
  }), ({ e, t: n, a: r }, i) => {
2660
2670
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2661
2671
  }), t;
2662
- })(), vi = (e) => J(si, {
2672
+ })(), bi = (e) => J(li, {
2663
2673
  get size() {
2664
2674
  return e.size ?? 20;
2665
2675
  },
@@ -2669,7 +2679,7 @@ var si = (e) => (() => {
2669
2679
  get children() {
2670
2680
  return Y("path", { d: "M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z" });
2671
2681
  }
2672
- }), yi = (e) => J(si, {
2682
+ }), xi = (e) => J(li, {
2673
2683
  get size() {
2674
2684
  return e.size ?? 20;
2675
2685
  },
@@ -2679,7 +2689,7 @@ var si = (e) => (() => {
2679
2689
  get children() {
2680
2690
  return Y("path", { d: "M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z" });
2681
2691
  }
2682
- }), bi = (e) => J(si, {
2692
+ }), Si = (e) => J(li, {
2683
2693
  get size() {
2684
2694
  return e.size ?? 18;
2685
2695
  },
@@ -2689,7 +2699,7 @@ var si = (e) => (() => {
2689
2699
  get children() {
2690
2700
  return Y("path", { d: "M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z" });
2691
2701
  }
2692
- }), xi = (e) => J(si, {
2702
+ }), Ci = (e) => J(li, {
2693
2703
  get size() {
2694
2704
  return e.size ?? 18;
2695
2705
  },
@@ -2699,11 +2709,11 @@ var si = (e) => (() => {
2699
2709
  get children() {
2700
2710
  return Y("path", { d: "M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z" });
2701
2711
  }
2702
- }), Si = (e, t) => {
2712
+ }), wi = (e, t) => {
2703
2713
  let n = t.CSS;
2704
2714
  return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
2705
- }, Ci = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, wi = (e) => e.nodeType === 9, Ti = (e) => e.nodeType === 11;
2706
- function Ei(e) {
2715
+ }, Ti = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, Ei = (e) => e.nodeType === 9, Di = (e) => e.nodeType === 11;
2716
+ function Oi(e) {
2707
2717
  let t = e.getBoundingClientRect();
2708
2718
  return {
2709
2719
  left: t.left,
@@ -2712,20 +2722,20 @@ function Ei(e) {
2712
2722
  height: t.height
2713
2723
  };
2714
2724
  }
2715
- function Di(e, t) {
2716
- if (wi(t)) return !0;
2725
+ function ki(e, t) {
2726
+ if (Ei(t)) return !0;
2717
2727
  let n = e;
2718
2728
  for (; n;) {
2719
2729
  if (t === n || t.contains(n)) return !0;
2720
2730
  let e = n.getRootNode();
2721
- if (!Ti(e)) return !1;
2731
+ if (!Di(e)) return !1;
2722
2732
  n = e.host;
2723
2733
  }
2724
2734
  return !1;
2725
2735
  }
2726
- function Oi(e) {
2736
+ function Ai(e) {
2727
2737
  let t = e.ownerDocument.defaultView ?? window;
2728
- if (e.id) return `#${Si(e.id, t)}`;
2738
+ if (e.id) return `#${wi(e.id, t)}`;
2729
2739
  let n = e.getAttribute("data-testid");
2730
2740
  if (n) return `[data-testid=${JSON.stringify(n)}]`;
2731
2741
  let r = [], i = e;
@@ -2739,7 +2749,7 @@ function Oi(e) {
2739
2749
  }
2740
2750
  return r.join(" > ");
2741
2751
  }
2742
- function ki(e) {
2752
+ function ji(e) {
2743
2753
  return {
2744
2754
  tag: e.localName,
2745
2755
  id: e.id || null,
@@ -2747,30 +2757,30 @@ function ki(e) {
2747
2757
  role: e.getAttribute("role"),
2748
2758
  ariaLabel: e.getAttribute("aria-label"),
2749
2759
  classes: [...e.classList],
2750
- text: Ci(e)
2760
+ text: Ti(e)
2751
2761
  };
2752
2762
  }
2753
- function Ai(e) {
2763
+ function Mi(e) {
2754
2764
  return !!(e.id || e.testId || e.role || e.ariaLabel || e.classes.length || e.text);
2755
2765
  }
2756
- function ji(e, t) {
2757
- return e.localName !== t.tag || t.id && e.id !== t.id || t.testId && e.getAttribute("data-testid") !== t.testId || t.role && e.getAttribute("role") !== t.role || t.ariaLabel && e.getAttribute("aria-label") !== t.ariaLabel ? !1 : t.id || t.testId ? !0 : t.classes.some((t) => !e.classList.contains(t)) || t.text && Ci(e) !== t.text ? !1 : Ai(t);
2758
- }
2759
- var Mi = "mesurer:select-gesture-start";
2760
2766
  function Ni(e, t) {
2761
- return e.addEventListener(Mi, t), () => e.removeEventListener(Mi, t);
2767
+ return e.localName !== t.tag || t.id && e.id !== t.id || t.testId && e.getAttribute("data-testid") !== t.testId || t.role && e.getAttribute("role") !== t.role || t.ariaLabel && e.getAttribute("aria-label") !== t.ariaLabel ? !1 : t.id || t.testId ? !0 : t.classes.some((t) => !e.classList.contains(t)) || t.text && Ti(e) !== t.text ? !1 : Mi(t);
2768
+ }
2769
+ var Pi = "mesurer:select-gesture-start";
2770
+ function Fi(e, t) {
2771
+ return e.addEventListener(Pi, t), () => e.removeEventListener(Pi, t);
2762
2772
  }
2763
2773
  Ht((e) => void 0);
2764
- var Pi = "mesurer-solid-styles", Fi = (e) => e?.nodeType === 11, Ii = (e) => e.nodeType === 9;
2765
- function Li(e, t) {
2774
+ var Ii = "mesurer-solid-styles", Li = (e) => e?.nodeType === 11, Ri = (e) => e.nodeType === 9;
2775
+ function zi(e, t) {
2766
2776
  let n = t?.ownerDocument ?? globalThis.document;
2767
2777
  if (!n) return;
2768
- let r = Fi(t) ? t : n;
2769
- if (r.querySelector(`#${Pi}`)) return;
2778
+ let r = Li(t) ? t : n;
2779
+ if (r.querySelector(`#${Ii}`)) return;
2770
2780
  let i = n.createElement("style");
2771
- i.id = Pi, i.textContent = e, Ii(r) ? r.head.append(i) : r.append(i);
2781
+ i.id = Ii, i.textContent = e, Ri(r) ? r.head.append(i) : r.append(i);
2772
2782
  }
2773
- var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e8f0)", Bi = "var(--msr-color-ink-500, #64748b)", Vi = "var(--msr-content, #0f172a)", Hi = (e, t, n) => {
2783
+ var Bi = "var(--msr-color-ink-50, #f8fafc)", Vi = "var(--msr-color-ink-200, #e2e8f0)", Hi = "var(--msr-color-ink-500, #64748b)", Ui = "var(--msr-content, #0f172a)", Wi = (e, t, n) => {
2774
2784
  let r = e.createElement("div");
2775
2785
  return Object.assign(r.style, {
2776
2786
  position: "absolute",
@@ -2787,7 +2797,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2787
2797
  height: "100%"
2788
2798
  }
2789
2799
  }), r;
2790
- }, Ui = (e, t, n) => {
2800
+ }, Gi = (e, t, n) => {
2791
2801
  let r = e.createElement("div");
2792
2802
  Object.assign(r.style, {
2793
2803
  position: "fixed",
@@ -2801,23 +2811,23 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2801
2811
  "right",
2802
2812
  "bottom",
2803
2813
  "left"
2804
- ]) r.appendChild(Hi(e, t, n));
2814
+ ]) r.appendChild(Wi(e, t, n));
2805
2815
  return r;
2806
- }, Wi = (e, t) => {
2816
+ }, Ki = (e, t) => {
2807
2817
  Object.assign(e.style, {
2808
2818
  left: `${t.left}px`,
2809
2819
  top: `${t.top}px`,
2810
2820
  width: `${t.width}px`,
2811
2821
  height: `${t.height}px`
2812
2822
  });
2813
- }, Gi = (e, t) => {
2823
+ }, qi = (e, t) => {
2814
2824
  let n = e.createElement("div");
2815
2825
  return Object.assign(n.style, {
2816
2826
  position: "fixed",
2817
2827
  zIndex: "1",
2818
2828
  pointerEvents: t ? "auto" : "none",
2819
2829
  background: "var(--msr-surface-raised, #ffffff)",
2820
- color: Vi,
2830
+ color: Ui,
2821
2831
  borderRadius: "13px",
2822
2832
  padding: "10px 12px",
2823
2833
  fontSize: "11px",
@@ -2832,7 +2842,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2832
2842
  boxSizing: "border-box",
2833
2843
  boxShadow: "var(--msr-shadow-floating, 0px 0px 0.5px rgba(0, 0, 0, 0.18), 0px 3px 8px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1))"
2834
2844
  }), n.className = t ? "mesurer-ti-card mesurer-ti-card--pinned" : "mesurer-ti-card", n.dataset.state = "hidden", n;
2835
- }, Ki = (e, t, n, r) => {
2845
+ }, Ji = (e, t, n, r) => {
2836
2846
  t.replaceChildren();
2837
2847
  let i = e.createElement("div");
2838
2848
  Object.assign(i.style, {
@@ -2844,8 +2854,8 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2844
2854
  });
2845
2855
  let a = e.createElement("span");
2846
2856
  if (Object.assign(a.style, {
2847
- color: Ri,
2848
- background: Vi,
2857
+ color: Bi,
2858
+ background: Ui,
2849
2859
  borderRadius: "4px",
2850
2860
  padding: "1px 5px",
2851
2861
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
@@ -2854,7 +2864,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2854
2864
  }), a.textContent = n.tagName, i.appendChild(a), n.textSnippet) {
2855
2865
  let t = e.createElement("span");
2856
2866
  Object.assign(t.style, {
2857
- color: Bi,
2867
+ color: Hi,
2858
2868
  overflow: "hidden",
2859
2869
  textOverflow: "ellipsis",
2860
2870
  whiteSpace: "nowrap",
@@ -2874,7 +2884,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2874
2884
  lineHeight: "14px",
2875
2885
  textAlign: "center",
2876
2886
  borderRadius: "4px",
2877
- color: Bi,
2887
+ color: Hi,
2878
2888
  fontSize: "14px"
2879
2889
  }), i.appendChild(t);
2880
2890
  }
@@ -2889,12 +2899,12 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2889
2899
  });
2890
2900
  for (let t of n.rows) {
2891
2901
  let n = e.createElement("span");
2892
- n.style.color = Bi, n.style.fontSize = "11px", n.textContent = t.label;
2902
+ n.style.color = Hi, n.style.fontSize = "11px", n.textContent = t.label;
2893
2903
  let r = e.createElement("span");
2894
2904
  if (Object.assign(r.style, {
2895
2905
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
2896
2906
  fontSize: "11px",
2897
- color: Vi,
2907
+ color: Ui,
2898
2908
  overflow: "hidden",
2899
2909
  textOverflow: "ellipsis",
2900
2910
  whiteSpace: "nowrap"
@@ -2903,21 +2913,21 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2903
2913
  let n = e.createElement("span");
2904
2914
  n.textContent = t.value;
2905
2915
  let i = e.createElement("span");
2906
- i.style.color = zi, i.style.margin = "0 6px", i.textContent = "·";
2916
+ i.style.color = Vi, i.style.margin = "0 6px", i.textContent = "·";
2907
2917
  let a = e.createElement("span");
2908
2918
  a.style.color = "#0369a1", a.textContent = t.varName, r.append(n, i, a);
2909
2919
  }
2910
2920
  o.append(n, r);
2911
2921
  }
2912
2922
  t.appendChild(o);
2913
- }, qi = (e, t, n, r = 0, i = 0) => {
2923
+ }, Yi = (e, t, n, r = 0, i = 0) => {
2914
2924
  let a = Number.parseFloat(t.dataset.mesurerPositionedScrollX ?? ""), o = Number.parseFloat(t.dataset.mesurerPositionedScrollY ?? ""), s = Number.isFinite(a) && a !== e.scrollX || Number.isFinite(o) && o !== e.scrollY, c = n.left + n.width / 2 + r;
2915
2925
  t.style.left = `${c}px`;
2916
2926
  let l = t.getBoundingClientRect(), u = n.bottom + 4 + i;
2917
2927
  u + l.height > e.innerHeight - 8 && (u = n.top - l.height - 4 + i), t.style.top = `${Math.max(8, u)}px`;
2918
2928
  let d = l.width / 2;
2919
2929
  t.style.left = `${Math.min(Math.max(c, 8 + d), e.innerWidth - 8 - d)}px`, t.dataset.mesurerPositionedScrollX = String(e.scrollX), t.dataset.mesurerPositionedScrollY = String(e.scrollY), s && !t.dataset.mesurerNativeScrollAnchor && (t.dataset.mesurerNativeScrollAnchor = "pending");
2920
- }, Ji = /* @__PURE__ */ new Map([
2930
+ }, Xi = /* @__PURE__ */ new Map([
2921
2931
  ["100", "thin"],
2922
2932
  ["200", "extralight"],
2923
2933
  ["300", "light"],
@@ -2927,26 +2937,26 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2927
2937
  ["700", "bold"],
2928
2938
  ["800", "extrabold"],
2929
2939
  ["900", "black"]
2930
- ]), Yi = [
2940
+ ]), Zi = [
2931
2941
  "font-family",
2932
2942
  "font-size",
2933
2943
  "font-weight",
2934
2944
  "line-height",
2935
2945
  "letter-spacing"
2936
- ], Xi = /* @__PURE__ */ new Map([
2946
+ ], Qi = /* @__PURE__ */ new Map([
2937
2947
  ["Family", "font-family"],
2938
2948
  ["Size", "font-size"],
2939
2949
  ["Weight", "font-weight"],
2940
2950
  ["Line", "line-height"],
2941
2951
  ["Tracking", "letter-spacing"]
2942
- ]), Zi = (e) => {
2952
+ ]), $i = (e) => {
2943
2953
  if (!e || e === "normal") return e || "normal";
2944
2954
  let t = /^(-?[\d.]+)px$/.exec(e);
2945
2955
  return t ? `${Math.round(Number(t[1]) * 10) / 10}px` : e;
2946
- }, Qi = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), $i = (e) => {
2947
- let t = Ji.get(e);
2956
+ }, ea = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), ta = (e) => {
2957
+ let t = Xi.get(e);
2948
2958
  return t ? `${e} / ${t}` : e;
2949
- }, ea = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, ta = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, na = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), ra = class {
2959
+ }, na = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, ra = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, ia = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), aa = class {
2950
2960
  document;
2951
2961
  window;
2952
2962
  constructor(e, t) {
@@ -2986,11 +2996,11 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2986
2996
  return e;
2987
2997
  }
2988
2998
  findVarReferences(e) {
2989
- let t = new Map(Yi.map((e) => [e, null])), n = this.getRules();
2990
- for (let r of Yi) {
2999
+ let t = new Map(Zi.map((e) => [e, null])), n = this.getRules();
3000
+ for (let r of Zi) {
2991
3001
  let i = e;
2992
3002
  for (; i && t.get(r) === null;) {
2993
- let e, a = ea(i.style.getPropertyValue(r));
3003
+ let e, a = na(i.style.getPropertyValue(r));
2994
3004
  a && (e = {
2995
3005
  name: a,
2996
3006
  specificity: 2 ** 53 - 1,
@@ -3006,15 +3016,15 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3006
3016
  continue;
3007
3017
  }
3008
3018
  if (!n) continue;
3009
- let s = ea(t.style.getPropertyValue(r));
3019
+ let s = na(t.style.getPropertyValue(r));
3010
3020
  if (!s) continue;
3011
3021
  let c = {
3012
3022
  name: s,
3013
- specificity: ta(t.selectorText),
3023
+ specificity: ra(t.selectorText),
3014
3024
  order: o,
3015
3025
  important: t.style.getPropertyPriority(r) === "important"
3016
3026
  };
3017
- na(c, e) && (e = c);
3027
+ ia(c, e) && (e = c);
3018
3028
  }
3019
3029
  e && t.set(r, e.name), i = i.parentElement;
3020
3030
  }
@@ -3025,27 +3035,27 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3025
3035
  let t = this.window.getComputedStyle(e), n = [
3026
3036
  {
3027
3037
  label: "Family",
3028
- value: Qi(t.fontFamily),
3038
+ value: ea(t.fontFamily),
3029
3039
  varName: null
3030
3040
  },
3031
3041
  {
3032
3042
  label: "Size",
3033
- value: Zi(t.fontSize),
3043
+ value: $i(t.fontSize),
3034
3044
  varName: null
3035
3045
  },
3036
3046
  {
3037
3047
  label: "Weight",
3038
- value: $i(t.fontWeight),
3048
+ value: ta(t.fontWeight),
3039
3049
  varName: null
3040
3050
  },
3041
3051
  {
3042
3052
  label: "Line",
3043
- value: t.lineHeight === "normal" ? "normal" : Zi(t.lineHeight),
3053
+ value: t.lineHeight === "normal" ? "normal" : $i(t.lineHeight),
3044
3054
  varName: null
3045
3055
  },
3046
3056
  {
3047
3057
  label: "Tracking",
3048
- value: t.letterSpacing === "normal" ? "normal" : Zi(t.letterSpacing),
3058
+ value: t.letterSpacing === "normal" ? "normal" : $i(t.letterSpacing),
3049
3059
  varName: null
3050
3060
  }
3051
3061
  ], r = Array.from(e.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => e.nodeValue?.trim() ?? "").filter(Boolean).join(" ").replace(/\s+/g, " ");
@@ -3060,7 +3070,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3060
3070
  return {
3061
3071
  ...t,
3062
3072
  rows: t.rows.map((e) => {
3063
- let t = Xi.get(e.label);
3073
+ let t = Qi.get(e.label);
3064
3074
  return {
3065
3075
  ...e,
3066
3076
  varName: t ? n.get(t) ?? null : null
@@ -3068,7 +3078,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3068
3078
  })
3069
3079
  };
3070
3080
  }
3071
- }, ia = [
3081
+ }, oa = [
3072
3082
  "HTML",
3073
3083
  "BODY",
3074
3084
  "SCRIPT",
@@ -3080,7 +3090,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3080
3090
  "VIDEO",
3081
3091
  "AUDIO",
3082
3092
  "IFRAME"
3083
- ], aa = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", oa = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", sa = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", ca = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", la = 80, ua = 0, da = (e, t) => `
3093
+ ], sa = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", ca = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", la = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", ua = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", da = 80, fa = 0, pa = (e, t) => `
3084
3094
  .${e},.${e} *{cursor:help!important}
3085
3095
  .${e} [data-mesurer-root],.${e} [data-mesurer-root] *{cursor:auto!important}
3086
3096
  #${t} .mesurer-ti-card{transform:translateX(-50%);opacity:1;transition:none!important;animation:none!important}
@@ -3091,7 +3101,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3091
3101
  #${t} .mesurer-ti-close{cursor:pointer}
3092
3102
  #${t} .mesurer-ti-close:hover{background:color-mix(in srgb,var(--msr-content,#0f172a) 6%,transparent)!important;color:var(--msr-content,#0f172a)!important}
3093
3103
  `;
3094
- function fa(e = {}, t = !1) {
3104
+ function ma(e = {}, t = !1) {
3095
3105
  let n = e.portalTarget?.ownerDocument ?? globalThis.document, r = n?.defaultView ?? globalThis.window;
3096
3106
  if (!n || !r) {
3097
3107
  let e = () => {};
@@ -3109,7 +3119,7 @@ function fa(e = {}, t = !1) {
3109
3119
  canRedo: () => !1
3110
3120
  };
3111
3121
  }
3112
- let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++ua}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? ia).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new ra(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
3122
+ let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++fa}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? oa).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new aa(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
3113
3123
  x: 0,
3114
3124
  y: 0
3115
3125
  }, b = 0, x = 0, S = 0, C = r.scrollX, w = r.scrollY, T = null, E = [], D = [], O = [], k = e.portalTarget ?? n.body, A = () => {
@@ -3118,7 +3128,7 @@ function fa(e = {}, t = !1) {
3118
3128
  for (let t of e) {
3119
3129
  if (t.querySelector(`#${o}`)) continue;
3120
3130
  let e = n.createElement("style");
3121
- e.id = o, e.textContent = da(s, a), t === n ? n.head.append(e) : t.append(e);
3131
+ e.id = o, e.textContent = pa(s, a), t === n ? n.head.append(e) : t.append(e);
3122
3132
  }
3123
3133
  }, j = () => h?.isConnected ? h : (h = n.createElement("div"), h.id = a, h.dataset.mesurerInspectorUi = "true", h.dataset.theme = e.theme?.() ?? "system", T ??= e.subscribeTheme?.((e) => {
3124
3134
  h && (h.dataset.theme = e);
@@ -3131,17 +3141,23 @@ function fa(e = {}, t = !1) {
3131
3141
  e && (e.dataset.state = t ? "visible" : "hidden");
3132
3142
  }, ee = () => {
3133
3143
  let e = j();
3134
- g ??= Ui(n, aa, oa), _ ??= Gi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
3135
- }, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), P = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && N(e) && !e.closest("[data-mesurer-root]"), F = (e, t) => n.elementsFromPoint(e, t).find((e) => P(e)) ?? null, te = () => {
3144
+ g ??= Gi(n, sa, ca), _ ??= qi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
3145
+ }, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), P = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && N(e) && !e.closest("[data-mesurer-root], [data-mesurer-inspector-ui='true']"), F = (e, t) => {
3146
+ for (let i of n.elementsFromPoint(e, t)) {
3147
+ if (Kr(i, r)) return null;
3148
+ if (P(i)) return i;
3149
+ }
3150
+ return null;
3151
+ }, te = () => {
3136
3152
  v = null, M(g, !1), M(_, !1);
3137
3153
  }, I = (t) => {
3138
3154
  if (!m || !P(t)) return !1;
3139
3155
  ee();
3140
3156
  let i = t.getBoundingClientRect(), a = u.getFast(t);
3141
- return v = t, Ki(n, _, a, !1), Wi(g, i), qi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
3157
+ return v = t, Ji(n, _, a, !1), Ki(g, i), Yi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
3142
3158
  if (!m || v !== t || !_) return;
3143
3159
  let i = u.getFull(t, a);
3144
- Ki(n, _, i, !1), qi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
3160
+ Ji(n, _, i, !1), Yi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
3145
3161
  }, 24), !0;
3146
3162
  }, L = () => E.map((e) => ({
3147
3163
  sourceEl: e.sourceEl,
@@ -3173,12 +3189,12 @@ function fa(e = {}, t = !1) {
3173
3189
  }, ne = (t, i, a = !0, o = !0) => {
3174
3190
  if (E.find((e) => e.sourceEl === t)) return;
3175
3191
  a && R(), E.length >= l && z(E[0], !1, !0);
3176
- let s = j(), c = Ui(n, sa, ca), d = Gi(n, !0);
3192
+ let s = j(), c = Gi(n, la, ua), d = qi(n, !0);
3177
3193
  d.classList.add("mesurer-ti-card--draggable"), d.classList.remove("mesurer-ti-card--pinned");
3178
3194
  let f = u.getFull(t);
3179
- Ki(n, d, f, !0), s.append(c, d);
3195
+ Ji(n, d, f, !0), s.append(c, d);
3180
3196
  let p = t.getBoundingClientRect();
3181
- Wi(c, p), qi(r, d, p), i?.userPlaced && (d.classList.add("mesurer-ti-card--pinned"), d.style.left = `${i.left}px`, d.style.top = `${i.top}px`), M(c, !0), M(d, !0);
3197
+ Ki(c, p), Yi(r, d, p), i?.userPlaced && (d.classList.add("mesurer-ti-card--pinned"), d.style.left = `${i.left}px`, d.style.top = `${i.top}px`), M(c, !0), M(d, !0);
3182
3198
  let m = {
3183
3199
  sourceEl: t,
3184
3200
  box: c,
@@ -3209,7 +3225,7 @@ function fa(e = {}, t = !1) {
3209
3225
  continue;
3210
3226
  }
3211
3227
  let t = e.sourceEl.getBoundingClientRect();
3212
- Wi(e.box, t), e.userPlaced || qi(r, e.card, t);
3228
+ Ki(e.box, t), e.userPlaced || Yi(r, e.card, t);
3213
3229
  let n = t.bottom >= 0 && t.right >= 0 && t.left <= r.innerWidth && t.top <= r.innerHeight;
3214
3230
  M(e.box, n), M(e.card, n), e.card.style.pointerEvents = n ? "auto" : "none";
3215
3231
  }
@@ -3219,7 +3235,7 @@ function fa(e = {}, t = !1) {
3219
3235
  if (!v.isConnected) te();
3220
3236
  else {
3221
3237
  let e = v.getBoundingClientRect();
3222
- Wi(g, e), qi(r, _, e);
3238
+ Ki(g, e), Yi(r, _, e);
3223
3239
  let t = e.bottom >= 0 && e.right >= 0 && e.left <= r.innerWidth && e.top <= r.innerHeight;
3224
3240
  M(g, t), M(_, t);
3225
3241
  }
@@ -3233,51 +3249,55 @@ function fa(e = {}, t = !1) {
3233
3249
  else if (e !== v) I(e);
3234
3250
  else if (g && _) {
3235
3251
  let t = e.getBoundingClientRect();
3236
- Wi(g, t), qi(r, _, t);
3252
+ Ki(g, t), Yi(r, _, t);
3237
3253
  }
3238
3254
  ae();
3239
3255
  }, se = () => {
3240
3256
  b ||= r.requestAnimationFrame(() => {
3241
3257
  b = 0, oe();
3242
3258
  });
3243
- }, ce = (e) => {
3244
- y = {
3259
+ }, ce = (e) => e.composedPath().some((e) => Kr(e, r)), le = (e) => {
3260
+ if (y = {
3245
3261
  x: e.clientX,
3246
3262
  y: e.clientY
3247
- }, se();
3248
- }, le = (e, t, n) => {
3263
+ }, ce(e)) {
3264
+ te();
3265
+ return;
3266
+ }
3267
+ se();
3268
+ }, ue = (e, t, n) => {
3249
3269
  if (!e || e.dataset.mesurerNativeScrollAnchor) return;
3250
3270
  let r = Number.parseFloat(e.style.left), i = Number.parseFloat(e.style.top);
3251
3271
  Number.isFinite(r) && (e.style.left = `${r - t}px`), Number.isFinite(i) && (e.style.top = `${i - n}px`);
3252
- }, ue = () => {
3272
+ }, de = () => {
3253
3273
  let e = r.scrollX, t = r.scrollY, i = e - C, a = t - w;
3254
- if (C = e, w = t, Kr(n)) {
3274
+ if (C = e, w = t, Jr(n)) {
3255
3275
  if (i || a) {
3256
- le(g, i, a), le(_, i, a);
3257
- for (let e of E) le(e.box, i, a), e.userPlaced || le(e.card, i, a);
3276
+ ue(g, i, a), ue(_, i, a);
3277
+ for (let e of E) ue(e.box, i, a), e.userPlaced || ue(e.card, i, a);
3258
3278
  }
3259
3279
  S && r.clearTimeout(S), S = r.setTimeout(() => {
3260
3280
  S = 0, W();
3261
- }, la);
3281
+ }, da);
3262
3282
  return;
3263
3283
  }
3264
3284
  W(), se();
3265
- }, de = (e) => {
3285
+ }, fe = (e) => {
3266
3286
  e.relatedTarget || te();
3267
- }, fe = (e) => e.composedPath().some((e) => e instanceof d && (e.id === a || e.hasAttribute("data-mesurer-root") || e.classList.contains("mesurer-ti-card") || e.classList.contains("mesurer-ti-close"))), pe = (e) => {
3268
- if (!fe(e) && (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0)) {
3287
+ }, pe = (e) => {
3288
+ if (!ce(e) && (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0)) {
3269
3289
  let t = F(e.clientX, e.clientY);
3270
3290
  t && ne(t);
3271
3291
  }
3272
3292
  }, me = (e) => {
3273
- fe(e) || (e.preventDefault(), e.stopImmediatePropagation());
3293
+ ce(e) || (e.preventDefault(), e.stopImmediatePropagation());
3274
3294
  }, he = () => {
3275
- m || (m = !0, A(), j(), n.body.classList.add(s), C = r.scrollX, w = r.scrollY, r.addEventListener("mousemove", ce, !0), r.addEventListener("mouseout", de, !0), r.addEventListener("click", pe, !0), r.addEventListener("auxclick", me, !0), r.addEventListener("scroll", ue, {
3295
+ m || (m = !0, A(), j(), n.body.classList.add(s), C = r.scrollX, w = r.scrollY, r.addEventListener("mousemove", le, !0), r.addEventListener("mouseout", fe, !0), r.addEventListener("click", pe, !0), r.addEventListener("auxclick", me, !0), r.addEventListener("scroll", de, {
3276
3296
  capture: !0,
3277
3297
  passive: !0
3278
3298
  }), r.addEventListener("resize", se, !0));
3279
3299
  }, ge = () => {
3280
- m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", ce, !0), r.removeEventListener("mouseout", de, !0), r.removeEventListener("click", pe, !0), r.removeEventListener("auxclick", me, !0), r.removeEventListener("scroll", ue, !0), r.removeEventListener("resize", se, !0), te(), B(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
3300
+ m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", le, !0), r.removeEventListener("mouseout", fe, !0), r.removeEventListener("click", pe, !0), r.removeEventListener("auxclick", me, !0), r.removeEventListener("scroll", de, !0), r.removeEventListener("resize", se, !0), te(), B(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
3281
3301
  }, _e = () => {
3282
3302
  ge(), T?.(), T = null, h?.remove(), h = null, n.getElementById(o)?.remove(), k instanceof r.ShadowRoot && k.querySelector(`#${o}`)?.remove();
3283
3303
  };
@@ -3295,24 +3315,24 @@ function fa(e = {}, t = !1) {
3295
3315
  destroy: _e
3296
3316
  };
3297
3317
  }
3298
- fa({}, !0);
3299
- var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", ma = {
3318
+ ma({}, !0);
3319
+ var ha = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", ga = {
3300
3320
  keepTextChanges: !1,
3301
3321
  keepArrangeChanges: !1
3302
- }, ha = (e) => e.state.get("mesurer.presentation.preferences") ?? ma, ga = "mesurer.arrange", _a = "arrange", va = "mesurer.arrange.intents", ya = "mesurer.arrange.active", ba = "mesurer.arrange.settings", xa = "runtime:solid", Sa = "builtin.select", Ca = "arrange.toggle", wa = "arrange.commit", Ta = "arrange.clear", Ea = "mesurer.arrange.selection-available", Da = 1, Oa = 24, ka = 160, Aa = 500, ja = "#ef4444", Ma = {
3322
+ }, _a = (e) => e.state.get("mesurer.presentation.preferences") ?? ga, va = "mesurer.arrange", ya = "arrange", ba = "mesurer.arrange.intents", xa = "mesurer.arrange.active", Sa = "mesurer.arrange.settings", Ca = "runtime:solid", wa = "builtin.select", Ta = "arrange.toggle", Ea = "arrange.commit", Da = "arrange.clear", Oa = "mesurer.arrange.selection-available", ka = 1, Aa = 24, ja = 160, Ma = 500, Na = "#ef4444", Pa = {
3303
3323
  viewBox: "0 0 24 24",
3304
3324
  paths: ["M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z"]
3305
- }, Na = (e, t) => ({
3325
+ }, Fa = (e, t) => ({
3306
3326
  left: e.left + t.x,
3307
3327
  top: e.top + t.y,
3308
3328
  width: e.width,
3309
3329
  height: e.height
3310
- }), Pa = (e, t) => ({
3330
+ }), Ia = (e, t) => ({
3311
3331
  left: e.left - t.left,
3312
3332
  top: e.top - t.top,
3313
3333
  width: e.width - t.width,
3314
3334
  height: e.height - t.height
3315
- }), Fa = (e) => {
3335
+ }), La = (e) => {
3316
3336
  if (!e.length) return null;
3317
3337
  let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
3318
3338
  return {
@@ -3321,35 +3341,35 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3321
3341
  width: r - t,
3322
3342
  height: i - n
3323
3343
  };
3324
- }, Ia = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), La = (e, t, n) => {
3344
+ }, Ra = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), za = (e, t, n) => {
3325
3345
  let r = t === "x" ? e.left : e.top, i = t === "x" ? e.width : e.height, a = r + i;
3326
3346
  return n === "edge" ? [r, a] : n === "center" ? [r + i / 2] : [
3327
3347
  r,
3328
3348
  r + i / 2,
3329
3349
  a
3330
3350
  ];
3331
- }, Ra = (e, t) => t === "x" ? {
3351
+ }, Ba = (e, t) => t === "x" ? {
3332
3352
  start: e.top,
3333
3353
  end: e.top + e.height
3334
3354
  } : {
3335
3355
  start: e.left,
3336
3356
  end: e.left + e.width
3337
- }, za = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), Ba = (e, t, n) => {
3338
- let r = Ra(t, e), i = null;
3339
- for (let a of n) if (a.axis === e && !(a.source === "element" && Ia(r.start, r.end, a.start, a.end) > ka)) for (let n of La(t, e, a.kind)) {
3357
+ }, Va = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), Ha = (e, t, n) => {
3358
+ let r = Ba(t, e), i = null;
3359
+ for (let a of n) if (a.axis === e && !(a.source === "element" && Ra(r.start, r.end, a.start, a.end) > ja)) for (let n of za(t, e, a.kind)) {
3340
3360
  let e = a.position - n, t = Math.abs(e);
3341
3361
  if (t > 10) continue;
3342
3362
  let r = i ? Math.abs(i.delta) : Infinity;
3343
- (t < r || t === r && (!i || za(a) > za(i))) && (i = {
3363
+ (t < r || t === r && (!i || Va(a) > Va(i))) && (i = {
3344
3364
  ...a,
3345
3365
  delta: e
3346
3366
  });
3347
3367
  }
3348
3368
  return i;
3349
- }, Va = (e) => {
3369
+ }, Ua = (e) => {
3350
3370
  let { origin: t, pathname: n, search: r } = e.location;
3351
3371
  return `${t}${n}${r}`;
3352
- }, Ha = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Ua = (e) => ({
3372
+ }, Wa = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Ga = (e) => ({
3353
3373
  tag: e.fingerprintTag,
3354
3374
  id: e.fingerprintId,
3355
3375
  testId: e.fingerprintTestId,
@@ -3357,10 +3377,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3357
3377
  ariaLabel: e.fingerprintAriaLabel,
3358
3378
  classes: [...e.fingerprintClasses],
3359
3379
  text: e.fingerprintText
3360
- }), Wa = (e) => ({
3380
+ }), Ka = (e) => ({
3361
3381
  id: e.id,
3362
3382
  selector: e.selector,
3363
- fingerprint: Ua(e),
3383
+ fingerprint: Ga(e),
3364
3384
  before: {
3365
3385
  left: e.beforeLeft,
3366
3386
  top: e.beforeTop,
@@ -3381,21 +3401,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3381
3401
  x: e.desiredOffsetX,
3382
3402
  y: e.desiredOffsetY
3383
3403
  }
3384
- }), Ga = (e) => ({
3404
+ }), qa = (e) => ({
3385
3405
  id: e.id,
3386
3406
  createdAt: e.createdAt,
3387
3407
  pageUrl: e.pageUrl,
3388
- targets: e.targets.map(Wa)
3389
- }), Ka = (e) => ({
3408
+ targets: e.targets.map(Ka)
3409
+ }), Ja = (e) => ({
3390
3410
  value: e.style.getPropertyValue("transform"),
3391
3411
  priority: e.style.getPropertyPriority("transform")
3392
- }), qa = (e, t) => e.value === t.value && e.priority === t.priority, Ja = (e) => {
3412
+ }), Ya = (e, t) => e.value === t.value && e.priority === t.priority, Xa = (e) => {
3393
3413
  let { element: t, beforeTransform: n, appliedTransform: r } = e;
3394
- qa(Ka(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
3395
- }, Ya = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Xa = () => ar({
3396
- id: ga,
3414
+ Ya(Ja(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
3415
+ }, Za = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Qa = () => ar({
3416
+ id: va,
3397
3417
  version: "0.1.0",
3398
- requires: [xa, "tool:select"],
3418
+ requires: [Ca, "tool:select"],
3399
3419
  provides: [
3400
3420
  "tool:arrange",
3401
3421
  "intent:arrange",
@@ -3403,19 +3423,19 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3403
3423
  "settings:arrange"
3404
3424
  ],
3405
3425
  setup(e) {
3406
- let t = e.service.get(xa);
3426
+ let t = e.service.get(Ca);
3407
3427
  if (!t) throw Error("Arrange plugin requires the Solid renderer runtime.");
3408
3428
  let { ownerDocument: n, ownerWindow: r } = t, i = t.createWorkspaceRuntime(), a = t.createInspectorMount(), o = t.pageTarget ?? n.body ?? n.documentElement, s = t.portalTarget, c = r;
3409
3429
  e.state.register({
3410
- id: va,
3430
+ id: ba,
3411
3431
  initial: { intents: [] },
3412
3432
  history: !0,
3413
3433
  persist: !0
3414
3434
  }), e.state.register({
3415
- id: ya,
3435
+ id: xa,
3416
3436
  initial: !1
3417
3437
  }), e.state.register({
3418
- id: ba,
3438
+ id: Sa,
3419
3439
  initial: {
3420
3440
  snapping: !0,
3421
3441
  elementEdges: !0,
@@ -3429,16 +3449,16 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3429
3449
  let l = a.element;
3430
3450
  l.dataset.mesurerArrange = "true", l.style.position = "fixed", l.style.inset = "0", l.style.zIndex = "84", l.style.pointerEvents = "none";
3431
3451
  let u = n.createElement("div");
3432
- u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor = ja, u.style.pointerEvents = "none";
3452
+ u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor = Na, u.style.pointerEvents = "none";
3433
3453
  let d = n.createElement("div");
3434
- d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = ja, d.style.pointerEvents = "none";
3454
+ d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = Na, d.style.pointerEvents = "none";
3435
3455
  let f = n.createElement("div");
3436
3456
  f.dataset.mesurerArrangeBox = "true", f.setAttribute("role", "application"), f.setAttribute("aria-label", "Arrange selected elements"), f.style.position = "fixed", f.style.display = "none", f.style.boxSizing = "border-box", f.style.border = "1px solid #0d99ff", f.style.cursor = "grab", f.style.pointerEvents = "auto", f.style.touchAction = "none", f.style.userSelect = "none", l.append(u, d, f);
3437
3457
  let p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = {
3438
3458
  intentId: null,
3439
3459
  state: "desired"
3440
3460
  }, g = null, _ = null, v = !1, y = 0, b = null, x = () => e.state.get("mesurer.arrange.intents") ?? { intents: [] }, S = () => e.state.get("mesurer.arrange.active") ?? !1, C = () => {
3441
- let t = e.state.get(ba);
3461
+ let t = e.state.get(Sa);
3442
3462
  return {
3443
3463
  snapping: t?.snapping ?? !0,
3444
3464
  elementEdges: t?.elementEdges ?? !0,
@@ -3448,21 +3468,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3448
3468
  snapLines: t?.snapLines ?? !0
3449
3469
  };
3450
3470
  }, w = (t) => {
3451
- e.state.update(ba, (e) => ({
3471
+ e.state.update(Sa, (e) => ({
3452
3472
  ...e,
3453
3473
  ...t
3454
3474
  }));
3455
- }, T = () => Va(r), E = () => x().intents.filter((e) => e.pageUrl === T()), D = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), O = (e) => Di(e, o) && !D(e), k = (e) => {
3475
+ }, T = () => Ua(r), E = () => x().intents.filter((e) => e.pageUrl === T()), D = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), O = (e) => ki(e, o) && !D(e), k = (e) => {
3456
3476
  let t = [];
3457
3477
  o instanceof c.HTMLElement && o.matches(e) && !D(o) && t.push(o);
3458
3478
  for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && O(n) && t.push(n);
3459
3479
  return t;
3460
3480
  }, A = (e) => {
3461
- let t = Ua(e);
3462
- if (!Ai(t)) return null;
3481
+ let t = Ga(e);
3482
+ if (!Mi(t)) return null;
3463
3483
  let n = [];
3464
3484
  try {
3465
- n = k(e.selector).filter((e) => ji(e, t));
3485
+ n = k(e.selector).filter((e) => Ni(e, t));
3466
3486
  } catch {
3467
3487
  return null;
3468
3488
  }
@@ -3470,7 +3490,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3470
3490
  if (!t.id && !t.testId) {
3471
3491
  let e = [];
3472
3492
  try {
3473
- e = k(t.tag).filter((e) => ji(e, t));
3493
+ e = k(t.tag).filter((e) => Ni(e, t));
3474
3494
  } catch {
3475
3495
  return null;
3476
3496
  }
@@ -3478,7 +3498,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3478
3498
  }
3479
3499
  return n[0] ?? null;
3480
3500
  }, j = () => {
3481
- for (let e of p.values()) Ja(e);
3501
+ for (let e of p.values()) Xa(e);
3482
3502
  p.clear();
3483
3503
  }, M = () => {
3484
3504
  u.style.display = "none", d.style.display = "none";
@@ -3532,11 +3552,11 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3532
3552
  j();
3533
3553
  for (let [t, n] of e) {
3534
3554
  if (!t.isConnected || !O(t) || n.x === 0 && n.y === 0) continue;
3535
- let e = Ka(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
3555
+ let e = Ja(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
3536
3556
  t.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(t, {
3537
3557
  element: t,
3538
3558
  beforeTransform: e,
3539
- appliedTransform: Ka(t)
3559
+ appliedTransform: Ja(t)
3540
3560
  });
3541
3561
  }
3542
3562
  }, L = () => I(te()), R = (e) => {
@@ -3548,24 +3568,24 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3548
3568
  }
3549
3569
  }, z = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && O(e));
3550
3570
  e.state.register({
3551
- id: Ea,
3571
+ id: Oa,
3552
3572
  initial: z().length > 0
3553
3573
  });
3554
- let B = () => e.state.get(Ea) ?? !1, V = () => {
3574
+ let B = () => e.state.get(Oa) ?? !1, V = () => {
3555
3575
  let t = z().length > 0;
3556
- t !== B() && e.state.update(Ea, () => t);
3557
- }, ne = () => Fa(z().map((e) => Ei(e))), re = (e) => {
3576
+ t !== B() && e.state.update(Oa, () => t);
3577
+ }, ne = () => La(z().map((e) => Oi(e))), re = (e) => {
3558
3578
  let t = C();
3559
3579
  if (!t.snapping) return [];
3560
3580
  let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
3561
- if (u >= Aa || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
3581
+ if (u >= Ma || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
3562
3582
  let o = r.getComputedStyle(i);
3563
3583
  if (o.display === "none" || o.visibility === "hidden" || o.visibility === "collapse") return;
3564
3584
  let s = o.outlineStyle === "solid" && (Number.parseFloat(o.outlineWidth) || 0) > 0;
3565
3585
  if (l && !s) return;
3566
- let c = Ei(i);
3586
+ let c = Oi(i);
3567
3587
  if (c.width <= 0 || c.height <= 0) return;
3568
- let d = ka;
3588
+ let d = ja;
3569
3589
  if (c.left + c.width < -160 || c.top + c.height < -160 || c.left > r.innerWidth + d || c.top > r.innerHeight + d) return;
3570
3590
  u += 1;
3571
3591
  let f = c.left + c.width, p = c.top + c.height;
@@ -3606,7 +3626,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3606
3626
  if (t.elementEdges || t.elementCenters) {
3607
3627
  o instanceof c.HTMLElement && d(o);
3608
3628
  for (let e of o.querySelectorAll("*")) {
3609
- if (u >= Aa) break;
3629
+ if (u >= Ma) break;
3610
3630
  e instanceof c.HTMLElement && d(e);
3611
3631
  }
3612
3632
  }
@@ -3654,7 +3674,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3654
3674
  y = 0, ae();
3655
3675
  }));
3656
3676
  }, oe = async () => {
3657
- s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Sa, void 0, { source: "arrange" });
3677
+ s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(wa, void 0, { source: "arrange" });
3658
3678
  }, se = (e) => {
3659
3679
  if (!S() || e.button !== 0) return;
3660
3680
  let t = z();
@@ -3666,15 +3686,15 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3666
3686
  let n = F(E());
3667
3687
  j();
3668
3688
  let r = t.map((e, t) => {
3669
- let r = Ei(e), i = n.get(e) ?? {
3689
+ let r = Oi(e), i = n.get(e) ?? {
3670
3690
  x: 0,
3671
3691
  y: 0
3672
- }, a = Na(r, i), o = ki(e);
3692
+ }, a = Fa(r, i), o = ji(e);
3673
3693
  return {
3674
3694
  element: e,
3675
3695
  target: {
3676
3696
  id: `target-${t + 1}`,
3677
- selector: Oi(e),
3697
+ selector: Ai(e),
3678
3698
  fingerprintTag: o.tag,
3679
3699
  fingerprintId: o.id,
3680
3700
  fingerprintTestId: o.testId,
@@ -3696,7 +3716,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3696
3716
  desiredOffsetY: i.y
3697
3717
  }
3698
3718
  };
3699
- }), i = Fa(r.map(({ target: e }) => ({
3719
+ }), i = La(r.map(({ target: e }) => ({
3700
3720
  left: e.beforeLeft,
3701
3721
  top: e.beforeTop,
3702
3722
  width: e.beforeWidth,
@@ -3720,10 +3740,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3720
3740
  if (!g || e.pointerId !== g.pointerId) return;
3721
3741
  let t = e.clientX - g.originX, n = e.clientY - g.originY, r = null;
3722
3742
  e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
3723
- let i = Na(g.groupBefore, {
3743
+ let i = Fa(g.groupBefore, {
3724
3744
  x: t,
3725
3745
  y: n
3726
- }), a = r === "y" ? null : Ba("x", i, g.snapCandidates), o = r === "x" ? null : Ba("y", i, g.snapCandidates);
3746
+ }), a = r === "y" ? null : Ha("x", i, g.snapCandidates), o = r === "x" ? null : Ha("y", i, g.snapCandidates);
3727
3747
  t += a?.delta ?? 0, n += o?.delta ?? 0, g.dx = t, g.dy = n;
3728
3748
  let s = F(E());
3729
3749
  for (let e of g.targets) s.set(e.element, {
@@ -3731,7 +3751,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3731
3751
  y: e.target.beforeOffsetY + n
3732
3752
  });
3733
3753
  I(s);
3734
- let c = Na(g.groupBefore, {
3754
+ let c = Fa(g.groupBefore, {
3735
3755
  x: t,
3736
3756
  y: n
3737
3757
  });
@@ -3749,7 +3769,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3749
3769
  return;
3750
3770
  }
3751
3771
  _ = {
3752
- id: Ha(r, "arrange"),
3772
+ id: Wa(r, "arrange"),
3753
3773
  createdAt: Date.now(),
3754
3774
  pageUrl: T(),
3755
3775
  targets: n.targets.map(({ target: e }) => ({
@@ -3759,13 +3779,13 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3759
3779
  desiredOffsetX: e.beforeOffsetX + n.dx,
3760
3780
  desiredOffsetY: e.beforeOffsetY + n.dy
3761
3781
  }))
3762
- }, e.command.execute(wa).catch(() => {
3782
+ }, e.command.execute(Ea).catch(() => {
3763
3783
  _ = null, ie(), H();
3764
3784
  });
3765
3785
  }, de = (e) => {
3766
3786
  !g || e.pointerId !== g.pointerId || le();
3767
3787
  }, fe = (t) => {
3768
- t.key !== "Escape" || !S() && !g || Ya(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
3788
+ t.key !== "Escape" || !S() && !g || Za(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
3769
3789
  };
3770
3790
  f.addEventListener("pointerdown", se), f.addEventListener("pointermove", ce), f.addEventListener("pointerup", ue), f.addEventListener("pointercancel", de), r.addEventListener("keydown", fe, !0), r.addEventListener("resize", W), r.addEventListener("scroll", W, !0), o.addEventListener("scroll", W, !0), b = new c.MutationObserver(() => {
3771
3791
  V(), W();
@@ -3785,18 +3805,18 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3785
3805
  V(), W();
3786
3806
  }), me = e.state.subscribe(W), he = (e) => x().intents.find((t) => t.id === e) ?? null, ge = (e, t) => {
3787
3807
  let n = null;
3788
- if (n = t === "before" ? Fa(e.targets.map((e) => ({
3808
+ if (n = t === "before" ? La(e.targets.map((e) => ({
3789
3809
  left: e.beforeLeft,
3790
3810
  top: e.beforeTop,
3791
3811
  width: e.beforeWidth,
3792
3812
  height: e.beforeHeight
3793
- }))) : t === "desired" ? Fa(e.targets.map((e) => ({
3813
+ }))) : t === "desired" ? La(e.targets.map((e) => ({
3794
3814
  left: e.desiredLeft,
3795
3815
  top: e.desiredTop,
3796
3816
  width: e.desiredWidth,
3797
3817
  height: e.desiredHeight
3798
- }))) : R(() => Fa(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Ei(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
3799
- let i = Math.max(0, n.left - Oa), a = Math.max(0, n.top - Oa), o = Math.min(r.innerWidth, n.left + n.width + Oa), s = Math.min(r.innerHeight, n.top + n.height + Oa);
3818
+ }))) : R(() => La(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Oi(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
3819
+ let i = Math.max(0, n.left - Aa), a = Math.max(0, n.top - Aa), o = Math.min(r.innerWidth, n.left + n.width + Aa), s = Math.min(r.innerHeight, n.top + n.height + Aa);
3800
3820
  return {
3801
3821
  left: i,
3802
3822
  top: a,
@@ -3805,10 +3825,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3805
3825
  };
3806
3826
  }, _e = {
3807
3827
  active: S,
3808
- intents: () => x().intents.map(Ga),
3828
+ intents: () => x().intents.map(qa),
3809
3829
  intent(e) {
3810
3830
  let t = he(e);
3811
- return t ? Ga(t) : null;
3831
+ return t ? qa(t) : null;
3812
3832
  },
3813
3833
  show(e, t) {
3814
3834
  if (!he(e)) throw Error(`Arrange intent not found: ${e}`);
@@ -3841,7 +3861,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3841
3861
  }]
3842
3862
  };
3843
3863
  },
3844
- review: (e, t = Da) => {
3864
+ review: (e, t = ka) => {
3845
3865
  let n = he(e);
3846
3866
  if (!n) throw Error(`Arrange intent not found: ${e}`);
3847
3867
  let r = R(() => n.targets.map((e) => {
@@ -3859,7 +3879,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3859
3879
  delta: null,
3860
3880
  matched: !1
3861
3881
  };
3862
- let i = Ei(n), a = Pa(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
3882
+ let i = Oi(n), a = Ia(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
3863
3883
  return {
3864
3884
  targetId: e.id,
3865
3885
  selector: e.selector,
@@ -3879,7 +3899,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3879
3899
  };
3880
3900
  },
3881
3901
  clear: async () => {
3882
- await e.command.execute(Ta);
3902
+ await e.command.execute(Da);
3883
3903
  }
3884
3904
  };
3885
3905
  e.tool.register({
@@ -3887,8 +3907,8 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3887
3907
  label: "Arrange",
3888
3908
  shortcut: "Shift+A",
3889
3909
  order: 65,
3890
- command: Ca,
3891
- icon: Ma,
3910
+ command: Ta,
3911
+ icon: Pa,
3892
3912
  active: S,
3893
3913
  menu: {
3894
3914
  label: "Arrange options",
@@ -3995,28 +4015,28 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3995
4015
  disabled: () => !C().snapping
3996
4016
  }
3997
4017
  ]
3998
- }), e.command.register(Ca, async () => {
4018
+ }), e.command.register(Ta, async () => {
3999
4019
  let t = !S();
4000
4020
  if (t && await oe(), e.state.update("mesurer.arrange.active", () => t), !t) {
4001
4021
  g && le(), U(), H();
4002
4022
  return;
4003
4023
  }
4004
4024
  ie(), H();
4005
- }), e.command.register(wa, () => {
4025
+ }), e.command.register(Ea, () => {
4006
4026
  let t = _;
4007
4027
  _ = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), ie(), H());
4008
- }), e.command.register(Ta, () => {
4009
- e.state.update(va, () => ({ intents: [] })), h = {
4028
+ }), e.command.register(Da, () => {
4029
+ e.state.update(ba, () => ({ intents: [] })), h = {
4010
4030
  intentId: null,
4011
4031
  state: "desired"
4012
4032
  }, j(), M(), S() ? N() : P(), H();
4013
- }), e.service.provide(_a, _e), L(), H(), e.lifecycle.onDispose(() => {
4033
+ }), e.service.provide(ya, _e), L(), H(), e.lifecycle.onDispose(() => {
4014
4034
  v = !0, y && r.cancelAnimationFrame(y), b?.disconnect(), b = null, f.removeEventListener("pointerdown", se), f.removeEventListener("pointermove", ce), f.removeEventListener("pointerup", ue), f.removeEventListener("pointercancel", de), r.removeEventListener("keydown", fe, !0), r.removeEventListener("resize", W), r.removeEventListener("scroll", W, !0), o.removeEventListener("scroll", W, !0), pe(), me.dispose(), j(), M(), P(), i.dispose(), a.dispose();
4015
4035
  });
4016
4036
  }
4017
- }), Za = (e, t, n) => {
4037
+ }), $a = (e, t, n) => {
4018
4038
  let r = !1, i = 0, a = null, o = null, s = () => ({
4019
- visible: (e.state.get("mesurer.arrange.active") ?? !1) || ha(e).keepArrangeChanges,
4039
+ visible: (e.state.get("mesurer.arrange.active") ?? !1) || _a(e).keepArrangeChanges,
4020
4040
  intents: e.state.get("mesurer.arrange.intents")?.intents ?? []
4021
4041
  }), c = (e, t) => e?.visible === t.visible && e.intents === t.intents, l = (e) => {
4022
4042
  if (a = e, e.visible) {
@@ -4037,23 +4057,23 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4037
4057
  l(s()), e.lifecycle.onDispose(() => {
4038
4058
  r = !0, i && n.cancelAnimationFrame(i), i = 0, o = null, d.dispose();
4039
4059
  });
4040
- }, Qa = [
4060
+ }, eo = [
4041
4061
  "[data-mesurer-measurement='true']",
4042
4062
  "[data-mesurer-selected-measurement='true']",
4043
4063
  "[data-mesurer-inspector-ui='true']"
4044
- ].join(""), $a = "[data-mesurer-text-edit-runtime='true']", eo = "[data-mesurer-text-editor='true']", to = (e, t) => {
4064
+ ].join(""), to = "[data-mesurer-text-edit-runtime='true']", no = "[data-mesurer-text-editor='true']", ro = (e, t) => {
4045
4065
  let n = t.ownerDocument.body;
4046
4066
  if (!n) return;
4047
- let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(Qa) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
4067
+ let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(eo) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
4048
4068
  for (let [e, t] of i) e.isConnected && (t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility"));
4049
4069
  i.clear();
4050
- }, u = () => !!o?.querySelector(eo), d = (e) => {
4070
+ }, u = () => !!o?.querySelector(no), d = (e) => {
4051
4071
  !a || u() || !c(e) || (i.has(e) || i.set(e, {
4052
4072
  value: e.style.getPropertyValue("visibility"),
4053
4073
  priority: e.style.getPropertyPriority("visibility")
4054
4074
  }), (e.style.getPropertyValue("visibility") !== "hidden" || e.style.getPropertyPriority("visibility") !== "important") && e.style.setProperty("visibility", "hidden", "important"));
4055
4075
  }, f = () => {
4056
- if (!(!a || u())) for (let e of n.querySelectorAll(Qa)) e instanceof r.HTMLElement && d(e);
4076
+ if (!(!a || u())) for (let e of n.querySelectorAll(eo)) e instanceof r.HTMLElement && d(e);
4057
4077
  }, p = () => {
4058
4078
  !a || u() ? l() : f();
4059
4079
  }, m = (e) => {
@@ -4068,14 +4088,14 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4068
4088
  }), p();
4069
4089
  }
4070
4090
  }, h = () => {
4071
- let e = n.querySelectorAll($a);
4091
+ let e = n.querySelectorAll(to);
4072
4092
  return e.item(e.length - 1);
4073
4093
  };
4074
4094
  m(h());
4075
4095
  let g = new r.MutationObserver((e) => {
4076
4096
  let t = !1;
4077
4097
  for (let n of e) {
4078
- for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches($a) && (t = !0), d(e));
4098
+ for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(to) && (t = !0), d(e));
4079
4099
  for (let e of n.removedNodes) e === o && (t = !0);
4080
4100
  }
4081
4101
  t && m(h());
@@ -4088,20 +4108,20 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4088
4108
  p(), e.lifecycle.onDispose(() => {
4089
4109
  g.disconnect(), s?.disconnect(), s = null, _.dispose(), l();
4090
4110
  });
4091
- }, no = () => {
4092
- let e = Xa();
4111
+ }, io = () => {
4112
+ let e = Qa();
4093
4113
  return {
4094
4114
  ...e,
4095
4115
  async setup(t) {
4096
4116
  await e.setup(t);
4097
- let n = t.service.get(_a);
4117
+ let n = t.service.get(ya);
4098
4118
  if (!n) throw Error("Arrange presentation policy requires the Arrange service.");
4099
4119
  let r = t.service.get("runtime:solid");
4100
4120
  if (!r) throw Error("Arrange presentation policy requires the Solid renderer runtime.");
4101
- Za(t, n, r.ownerWindow), to(t, r);
4121
+ $a(t, n, r.ownerWindow), ro(t, r);
4102
4122
  }
4103
4123
  };
4104
- }, ro = (e, t, n, r) => ar({
4124
+ }, ao = (e, t, n, r) => ar({
4105
4125
  id: `mesurer.${e}`,
4106
4126
  version: "0.1.0",
4107
4127
  provides: [`tool:${e}`],
@@ -4115,7 +4135,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4115
4135
  command: `builtin.${e}`
4116
4136
  });
4117
4137
  }
4118
- }), io = () => ro("select", "Select", "S", 10), ao = () => ro("xray", "X-ray", "X", 20), oo = () => ro("color-picker", "Color picker", "P", 30), so = () => ro("rulers", "Rulers", "R", 40), co = () => ro("text-inspector", "Typography", "A", 50), lo = () => ro("guides", "Guides", "G", 60), uo = () => ro("settings", "Settings", "⌘/Ctrl+,", 90), fo = () => ar({
4138
+ }), oo = () => ao("select", "Select", "S", 10), so = () => ao("xray", "X-ray", "X", 20), co = () => ao("color-picker", "Color picker", "P", 30), lo = () => ao("rulers", "Rulers", "R", 40), uo = () => ao("text-inspector", "Typography", "A", 50), fo = () => ao("guides", "Guides", "G", 60), po = () => ao("settings", "Settings", "⌘/Ctrl+,", 90), mo = () => ar({
4119
4139
  id: "mesurer.distance",
4120
4140
  version: "0.1.0",
4121
4141
  provides: ["overlay:distance", "settings:selection-spacing"],
@@ -4131,21 +4151,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4131
4151
  order: 30
4132
4152
  });
4133
4153
  }
4134
- }), po = () => [
4135
- io(),
4136
- ao(),
4154
+ }), ho = () => [
4137
4155
  oo(),
4138
4156
  so(),
4139
4157
  co(),
4140
4158
  lo(),
4159
+ uo(),
4141
4160
  fo(),
4142
- uo()
4161
+ mo(),
4162
+ po()
4143
4163
  ];
4144
- function mo(e = [], t = []) {
4164
+ function go(e = [], t = []) {
4145
4165
  let n = new Set(t.map((e) => `mesurer.${e}`));
4146
- return [...po().filter((e) => !n.has(e.id)), ...e];
4166
+ return [...ho().filter((e) => !n.has(e.id)), ...e];
4147
4167
  }
4148
- var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), _o = (e, t, n, r, i) => {
4168
+ var _o = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), vo = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), yo = (e, t, n, r, i) => {
4149
4169
  let a = e.left + e.width, o = e.top + e.height, s = [
4150
4170
  {
4151
4171
  axis: "vertical",
@@ -4193,7 +4213,7 @@ var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n =
4193
4213
  }
4194
4214
  ];
4195
4215
  return i ? s.sort((e, t) => t.space - e.space) : s;
4196
- }, vo = (e, t, n) => {
4216
+ }, bo = (e, t, n) => {
4197
4217
  let r = [];
4198
4218
  for (let i = 0; i <= n; i += 1) {
4199
4219
  let n = i * t;
@@ -4219,14 +4239,14 @@ var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n =
4219
4239
  }
4220
4240
  return r;
4221
4241
  };
4222
- function yo(e, t, n = {}) {
4242
+ function xo(e, t, n = {}) {
4223
4243
  let r = n.markerSize ?? 24, i = n.markerGap ?? 4, a = n.targetGap ?? 6, o = n.targetClearance ?? 2, s = n.viewportPadding ?? 4, c = n.obstacles ?? [], l = Math.max(0, n.maxShiftRings ?? 2), u = n.viewportAware ?? !1, d = r + i, f = Math.max(s, t.width - r - s), p = Math.max(s, t.height - r - s), m = [], h = e.map((e) => e.rect), g = [];
4224
4244
  for (let n of e) {
4225
- let e = /* @__PURE__ */ new Set(), _ = [], v = _o(n.rect, t, r, a, u);
4226
- for (let t of vo(v, d, l)) {
4245
+ let e = /* @__PURE__ */ new Set(), _ = [], v = yo(n.rect, t, r, a, u);
4246
+ for (let t of bo(v, d, l)) {
4227
4247
  let n = u ? {
4228
- left: ho(t.left, s, f),
4229
- top: ho(t.top, s, p)
4248
+ left: _o(t.left, s, f),
4249
+ top: _o(t.top, s, p)
4230
4250
  } : t, r = `${n.left}:${n.top}`;
4231
4251
  e.has(r) || (e.add(r), _.push(n));
4232
4252
  }
@@ -4236,21 +4256,21 @@ function yo(e, t, n = {}) {
4236
4256
  width: r,
4237
4257
  height: r
4238
4258
  };
4239
- return h.every((e) => !go(t, e, o)) && c.every((e) => !go(t, e, i));
4259
+ return h.every((e) => !vo(t, e, o)) && c.every((e) => !vo(t, e, i));
4240
4260
  }), b = y.find((e) => {
4241
4261
  let t = {
4242
4262
  ...e,
4243
4263
  width: r,
4244
4264
  height: r
4245
4265
  };
4246
- return m.every((e) => !go(t, e, i));
4266
+ return m.every((e) => !vo(t, e, i));
4247
4267
  }) ?? y.find((e) => {
4248
4268
  let t = {
4249
4269
  ...e,
4250
4270
  width: r,
4251
4271
  height: r
4252
4272
  };
4253
- return m.every((e) => !go(t, e));
4273
+ return m.every((e) => !vo(t, e));
4254
4274
  }) ?? y[0] ?? _[0] ?? {
4255
4275
  left: s,
4256
4276
  top: s
@@ -4266,20 +4286,20 @@ function yo(e, t, n = {}) {
4266
4286
  }
4267
4287
  return g;
4268
4288
  }
4269
- var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), Co = (e) => {
4289
+ var So = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Co = 0, wo = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), To = (e) => {
4270
4290
  let t = e.ownerDocument.defaultView?.HTMLElement;
4271
4291
  return !!(t && e instanceof t);
4272
- }, wo = (e, t) => {
4273
- let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = So(n);
4292
+ }, Eo = (e, t) => {
4293
+ let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = wo(n);
4274
4294
  i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
4275
4295
  let a = !1;
4276
4296
  return () => {
4277
4297
  if (a) return;
4278
4298
  a = !0;
4279
- let i = So(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
4299
+ let i = wo(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
4280
4300
  i.length ? e.style.setProperty("anchor-name", i.join(", "), e.style.getPropertyPriority("anchor-name")) : n.trim() === "none" ? e.style.setProperty("anchor-name", n, r) : e.style.removeProperty("anchor-name");
4281
4301
  };
4282
- }, To = (e) => {
4302
+ }, Do = (e) => {
4283
4303
  if (!e.length) return null;
4284
4304
  let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
4285
4305
  return {
@@ -4288,14 +4308,14 @@ var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e)
4288
4308
  width: r - t,
4289
4309
  height: i - n
4290
4310
  };
4291
- }, Eo = (e, t, n, r, i = 8) => {
4311
+ }, Oo = (e, t, n, r, i = 8) => {
4292
4312
  let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
4293
4313
  return {
4294
- left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : bo(e.left + e.width - t, 8, a),
4295
- top: bo(e.top, 8, o)
4314
+ left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : So(e.left + e.width - t, 8, a),
4315
+ top: So(e.top, 8, o)
4296
4316
  };
4297
- }, Do = (e, t, n, r, i = 8) => {
4298
- let a = r.innerWidth - t - 8, o = bo(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
4317
+ }, ko = (e, t, n, r, i = 8) => {
4318
+ let a = r.innerWidth - t - 8, o = So(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
4299
4319
  if (s + n <= r.innerHeight - 8) return {
4300
4320
  left: o,
4301
4321
  top: s
@@ -4304,10 +4324,10 @@ var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e)
4304
4324
  return c >= 8 ? {
4305
4325
  left: o,
4306
4326
  top: c
4307
- } : Eo(e, t, n, r, i);
4327
+ } : Oo(e, t, n, r, i);
4308
4328
  };
4309
- function Oo(e) {
4310
- let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++xo}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, ee, N, P = null, F = null, te = null, I = null, L = null, R = null, z = /* @__PURE__ */ new Map(), B = () => ee?.ownerDocument.defaultView ?? window, V = () => e.coordinateSpace === "viewport", ne = (e) => e ? "native-anchor" : V() ? "cached-delta" : "document", re = (e) => {
4329
+ function Ao(e) {
4330
+ let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++Co}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, ee, N, P = null, F = null, te = null, I = null, L = null, R = null, z = /* @__PURE__ */ new Map(), B = () => ee?.ownerDocument.defaultView ?? window, V = () => e.coordinateSpace === "viewport", ne = (e) => e ? "native-anchor" : V() ? "cached-delta" : "document", re = (e) => {
4311
4331
  if (V()) return e;
4312
4332
  let t = B();
4313
4333
  return {
@@ -4342,7 +4362,7 @@ function Oo(e) {
4342
4362
  }, ue = (t) => {
4343
4363
  let n = e.runtime.annotation(t);
4344
4364
  return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
4345
- }, de = (e) => !!(Co(e) && V() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
4365
+ }, de = (e) => !!(To(e) && V() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
4346
4366
  let t = ue(e), n = z.get(e);
4347
4367
  if (!t) {
4348
4368
  n && (le(e), i((e) => e + 1));
@@ -4356,19 +4376,19 @@ function Oo(e) {
4356
4376
  le(e);
4357
4377
  let a = t.ownerDocument.defaultView;
4358
4378
  if (a) {
4359
- if (r && Co(t)) {
4360
- let n = `--mesurer-annotation-${++xo}`;
4379
+ if (r && To(t)) {
4380
+ let n = `--mesurer-annotation-${++Co}`;
4361
4381
  z.set(e, {
4362
4382
  target: t,
4363
4383
  anchorName: n,
4364
- releaseAnchor: wo(t, n),
4365
- scroll: ti(a, t, () => ce(e), { trackWindow: !1 })
4384
+ releaseAnchor: Eo(t, n),
4385
+ scroll: ri(a, t, () => ce(e), { trackWindow: !1 })
4366
4386
  });
4367
4387
  } else z.set(e, {
4368
4388
  target: t,
4369
4389
  anchorName: null,
4370
4390
  releaseAnchor: null,
4371
- scroll: ti(a, t, () => ce(e), { trackWindow: V() })
4391
+ scroll: ri(a, t, () => ce(e), { trackWindow: V() })
4372
4392
  });
4373
4393
  i((e) => e + 1);
4374
4394
  }
@@ -4387,7 +4407,7 @@ function Oo(e) {
4387
4407
  e.initialTriggerFallback && (O = W());
4388
4408
  let ge = () => {
4389
4409
  I?.release(), I = null, te?.(), te = null, P = null, F = null;
4390
- }, _e = (e) => !!(Co(e) && V() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
4410
+ }, _e = (e) => !!(To(e) && V() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
4391
4411
  let e = W();
4392
4412
  O && e !== O && (O = null);
4393
4413
  let t = P, n = !!(e?.isConnected && _e(e)), r = F === e;
@@ -4395,16 +4415,16 @@ function Oo(e) {
4395
4415
  I?.sync();
4396
4416
  return;
4397
4417
  }
4398
- let i = e === t ? D : `--mesurer-annotation-trigger-${++xo}`;
4418
+ let i = e === t ? D : `--mesurer-annotation-trigger-${++Co}`;
4399
4419
  if (ge(), !e?.isConnected) return;
4400
4420
  P = e;
4401
4421
  let a = e.ownerDocument.defaultView;
4402
4422
  if (a) {
4403
- if (n && Co(e)) {
4404
- te = wo(e, i), F = e, D = i, I = ti(a, e, se, { trackWindow: !1 });
4423
+ if (n && To(e)) {
4424
+ te = Eo(e, i), F = e, D = i, I = ri(a, e, se, { trackWindow: !1 });
4405
4425
  return;
4406
4426
  }
4407
- D = i, I = ti(a, e, se, { trackWindow: V() });
4427
+ D = i, I = ri(a, e, se, { trackWindow: V() });
4408
4428
  }
4409
4429
  }, ye = (e) => {
4410
4430
  if (L?.disconnect(), L = null, !e?.isConnected) return;
@@ -4470,7 +4490,7 @@ function Oo(e) {
4470
4490
  };
4471
4491
  });
4472
4492
  return e.region && t.push({ ...e.region }), t;
4473
- }), Ne = Gt(() => To(Me())), Pe = () => {
4493
+ }), Ne = Gt(() => Do(Me())), Pe = () => {
4474
4494
  let e = we().elements.length;
4475
4495
  return e > 1 ? `${e} selected elements` : e === 1 ? "Selected element" : "Selected region";
4476
4496
  }, Fe = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", Ie = Gt(() => {
@@ -4492,7 +4512,7 @@ function Oo(e) {
4492
4512
  top: e.top,
4493
4513
  width: 24,
4494
4514
  height: 24
4495
- })), [a] = yo([{
4515
+ })), [a] = xo([{
4496
4516
  id: "selection-note-trigger",
4497
4517
  rect: n
4498
4518
  }], {
@@ -4501,7 +4521,7 @@ function Oo(e) {
4501
4521
  }, {
4502
4522
  obstacles: i,
4503
4523
  maxShiftRings: 1
4504
- }), o = a?.left ?? bo(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? bo(n.top, 4, r.innerHeight - 24 - 4), c = F === e, l = V() && !c;
4524
+ }), o = a?.left ?? So(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? So(n.top, 4, r.innerHeight - 24 - 4), c = F === e, l = V() && !c;
4505
4525
  return {
4506
4526
  left: c || l ? o : o + r.scrollX,
4507
4527
  top: c || l ? s : s + r.scrollY,
@@ -4519,7 +4539,7 @@ function Oo(e) {
4519
4539
  rect: n
4520
4540
  }] : [];
4521
4541
  });
4522
- return new Map(yo(i, {
4542
+ return new Map(xo(i, {
4523
4543
  width: n.innerWidth,
4524
4544
  height: n.innerHeight
4525
4545
  }, { obstacles: Me() }).map((e) => [e.id, e]));
@@ -4543,7 +4563,7 @@ function Oo(e) {
4543
4563
  return n && e ? {
4544
4564
  left: e.left + n.left,
4545
4565
  top: e.top + n.top
4546
- } : e ? Do(e, 272, 168, t) : {
4566
+ } : e ? ko(e, 272, 168, t) : {
4547
4567
  left: 8,
4548
4568
  top: 8
4549
4569
  };
@@ -4564,7 +4584,7 @@ function Oo(e) {
4564
4584
  };
4565
4585
  }, Ue = (e, t) => {
4566
4586
  let n = B(), r = Re(), i = r.get(e);
4567
- if (!i) return Eo(t, 272, 176, n);
4587
+ if (!i) return Oo(t, 272, 176, n);
4568
4588
  let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
4569
4589
  left: e.left,
4570
4590
  top: e.top,
@@ -4590,8 +4610,8 @@ function Oo(e) {
4590
4610
  }
4591
4611
  ]) {
4592
4612
  let t = {
4593
- left: bo(e.left, 8, a),
4594
- top: bo(e.top, 8, o)
4613
+ left: So(e.left, 8, a),
4614
+ top: So(e.top, 8, o)
4595
4615
  }, n = `${t.left}:${t.top}`;
4596
4616
  l.has(n) || (l.add(n), u.push(t));
4597
4617
  }
@@ -4607,7 +4627,7 @@ function Oo(e) {
4607
4627
  targetOverlap: c(r, t),
4608
4628
  index: n
4609
4629
  };
4610
- }).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? Eo(t, 272, 176, n);
4630
+ }).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? Oo(t, 272, 176, n);
4611
4631
  }, We = (t) => {
4612
4632
  let n = e.runtime.annotationRect(t);
4613
4633
  if (!n) return {
@@ -4655,8 +4675,8 @@ function Oo(e) {
4655
4675
  let u = (t) => {
4656
4676
  if (!j || t.pointerId !== j.pointerId) return;
4657
4677
  let r = j, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
4658
- left: bo(r.originLeft + t.clientX - r.startX, 8, i),
4659
- top: bo(r.originTop + t.clientY - r.startY, 8, a)
4678
+ left: So(r.originLeft + t.clientX - r.startX, 8, i),
4679
+ top: So(r.originTop + t.clientY - r.startY, 8, a)
4660
4680
  };
4661
4681
  if (n === "composer") {
4662
4682
  let e = Ne();
@@ -4701,7 +4721,7 @@ function Oo(e) {
4701
4721
  k = !1, A = H(), v(""), b(null), w(null), o(null);
4702
4722
  let e = Ne();
4703
4723
  if (e) {
4704
- let t = Do(e, 272, 168, B());
4724
+ let t = ko(e, 272, 168, B());
4705
4725
  m({
4706
4726
  left: t.left - e.left,
4707
4727
  top: t.top - e.top
@@ -4765,7 +4785,7 @@ function Oo(e) {
4765
4785
  });
4766
4786
  return nr(() => (e) => {
4767
4787
  N = e, I?.sync();
4768
- }, t), Z(t, J(yi, { size: 14 })), q(() => ({
4788
+ }, t), Z(t, J(xi, { size: 14 })), q(() => ({
4769
4789
  e: V() ? "viewport" : "document",
4770
4790
  t: ne(e().nativeAnchor),
4771
4791
  a: {
@@ -4830,10 +4850,10 @@ function Oo(e) {
4830
4850
  class: "msr:h-7 msr:rounded-[7px] msr:border-0 msr:bg-[#0d99ff] msr:px-2.5 msr:text-[11px] msr:font-medium msr:text-white msr:hover:bg-[#0b8eea]",
4831
4851
  onClick: et
4832
4852
  });
4833
- return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(yi, {
4853
+ return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(xi, {
4834
4854
  size: 14,
4835
4855
  class: "msr:text-ink-700"
4836
- }), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(xi, { size: 14 })), Z(t, J(Xt, {
4856
+ }), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(Ci, { size: 14 })), Z(t, J(Xt, {
4837
4857
  get when() {
4838
4858
  return y();
4839
4859
  },
@@ -5033,7 +5053,7 @@ function Oo(e) {
5033
5053
  o(null), w(null);
5034
5054
  }
5035
5055
  }), y = Y("div", { class: "msr:mx-1 msr:mt-1 msr:max-h-36 msr:overflow-auto msr:whitespace-pre-wrap msr:rounded-[7px] msr:bg-ink-50 msr:px-2 msr:py-2 msr:text-[12px] msr:leading-[1.45] msr:text-ink-800" });
5036
- return X(i, a), X(i, y), X(a, s), X(a, l), X(a, h), Z(s, r), X(l, d), X(l, m), X(d, p), Z(d, r, null), Z(m, () => Fe(t())), X(h, g), X(h, _), X(h, v), Z(g, J(vi, { size: 14 })), Z(_, J(bi, { size: 14 })), Z(v, J(xi, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
5056
+ return X(i, a), X(i, y), X(a, s), X(a, l), X(a, h), Z(s, r), X(l, d), X(l, m), X(d, p), Z(d, r, null), Z(m, () => Fe(t())), X(h, g), X(h, _), X(h, v), Z(g, J(bi, { size: 14 })), Z(_, J(Si, { size: 14 })), Z(v, J(Ci, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
5037
5057
  get when() {
5038
5058
  return C();
5039
5059
  },
@@ -5065,11 +5085,11 @@ function Oo(e) {
5065
5085
  })
5066
5086
  ];
5067
5087
  }
5068
- function ko(e) {
5088
+ function jo(e) {
5069
5089
  let t = null;
5070
- return St(Ni(e.ownerWindow, () => {
5090
+ return St(Fi(e.ownerWindow, () => {
5071
5091
  t?.abandonNoteComposer();
5072
- })), J(Oo, {
5092
+ })), J(Ao, {
5073
5093
  get runtime() {
5074
5094
  return e.runtime;
5075
5095
  },
@@ -5087,11 +5107,11 @@ function ko(e) {
5087
5107
  }
5088
5108
  });
5089
5109
  }
5090
- var Ao = "2147482950", jo = "2147483646", Mo = "2147483647";
5091
- function No(e) {
5110
+ var Mo = "2147482950", No = "2147483646", Po = "2147483647";
5111
+ function Fo(e) {
5092
5112
  let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
5093
5113
  if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
5094
- Li(pa, i);
5114
+ zi(ha, i);
5095
5115
  let a = t.createElement("div");
5096
5116
  a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerDocumentInspectorMount = "true", a.dataset.theme = e.theme?.() ?? "system";
5097
5117
  let o = e.subscribeTheme?.((e) => {
@@ -5109,17 +5129,17 @@ function No(e) {
5109
5129
  s.dataset.mesurerDocumentInspectorLayerStyle = "true", s.textContent = `
5110
5130
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
5111
5131
  position: absolute !important;
5112
- z-index: ${Ao} !important;
5132
+ z-index: ${Mo} !important;
5113
5133
  }
5114
5134
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
5115
5135
  position: absolute !important;
5116
- z-index: ${jo} !important;
5136
+ z-index: ${No} !important;
5117
5137
  }
5118
5138
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
5119
5139
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
5120
5140
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
5121
5141
  position: absolute !important;
5122
- z-index: ${Mo} !important;
5142
+ z-index: ${Po} !important;
5123
5143
  }
5124
5144
  `, t.head.append(s), i.append(a);
5125
5145
  let c = !1;
@@ -5130,8 +5150,8 @@ function No(e) {
5130
5150
  }
5131
5151
  };
5132
5152
  }
5133
- var Po = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, Fo = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", Io = (e) => {
5134
- let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = Fo(e.align);
5153
+ var Io = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, Lo = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", Ro = (e) => {
5154
+ let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = Lo(e.align);
5135
5155
  return {
5136
5156
  position: "absolute",
5137
5157
  inset: "0",
@@ -5152,7 +5172,7 @@ var Po = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)
5152
5172
  transform: e.align === "center" ? t ? `translateX(${e.offset}px)` : `translateY(${e.offset}px)` : void 0
5153
5173
  };
5154
5174
  };
5155
- function Lo(e) {
5175
+ function zo(e) {
5156
5176
  let t = () => e.guides.filter((e) => e.visible);
5157
5177
  return J(Xt, {
5158
5178
  get when() {
@@ -5187,7 +5207,7 @@ function Lo(e) {
5187
5207
  "min-height": "0",
5188
5208
  width: "100%",
5189
5209
  height: "100%",
5190
- "background-color": Po(e)
5210
+ "background-color": Io(e)
5191
5211
  }), (e, n) => {
5192
5212
  Q(t, "style", e, n);
5193
5213
  }), t;
@@ -5195,7 +5215,7 @@ function Lo(e) {
5195
5215
  })), q(() => ({
5196
5216
  e: e.id,
5197
5217
  t: e.kind,
5198
- a: Io(e)
5218
+ a: Ro(e)
5199
5219
  }), ({ e, t: n, a: r }, i) => {
5200
5220
  e !== i?.e && Q(t, "data-mesurer-layout-guide", e, i?.e), n !== i?.t && Q(t, "data-mesurer-layout-guide-kind", n, i?.t), r !== i?.a && Q(t, "style", r, i?.a);
5201
5221
  }), t;
@@ -5208,7 +5228,7 @@ function Lo(e) {
5208
5228
  return q(() => ({
5209
5229
  e: e.id,
5210
5230
  t: {
5211
- "background-image": `linear-gradient(to right, ${Po(e)} 1px, transparent 1px), linear-gradient(to bottom, ${Po(e)} 1px, transparent 1px)`,
5231
+ "background-image": `linear-gradient(to right, ${Io(e)} 1px, transparent 1px), linear-gradient(to bottom, ${Io(e)} 1px, transparent 1px)`,
5212
5232
  "background-size": `${e.size}px ${e.size}px`
5213
5233
  }
5214
5234
  }), ({ e, t: n }, r) => {
@@ -5220,34 +5240,34 @@ function Lo(e) {
5220
5240
  }
5221
5241
  });
5222
5242
  }
5223
- var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5243
+ var Bo = "#FF0000", Vo = .1, Ho = /* @__PURE__ */ new Set([
5224
5244
  "columns",
5225
5245
  "rows",
5226
5246
  "grid"
5227
- ]), Vo = /* @__PURE__ */ new Set([
5247
+ ]), Uo = /* @__PURE__ */ new Set([
5228
5248
  "stretch",
5229
5249
  "min",
5230
5250
  "center",
5231
5251
  "max"
5232
- ]), Ho = (e, t, n) => Math.min(n, Math.max(t, e)), Uo = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Wo = (e = {}) => {
5233
- let t = e.kind && Bo.has(e.kind) ? e.kind : "columns", n = e.align && Vo.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
5252
+ ]), Wo = (e, t, n) => Math.min(n, Math.max(t, e)), Go = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Ko = (e = {}) => {
5253
+ let t = e.kind && Ho.has(e.kind) ? e.kind : "columns", n = e.align && Uo.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
5234
5254
  return {
5235
5255
  id: r || Wr(),
5236
5256
  kind: t,
5237
5257
  visible: e.visible ?? !0,
5238
5258
  color: i || "#FF0000",
5239
- opacity: Ho(Uo(e.opacity, zo), 0, 1),
5240
- count: Ho(Math.round(Uo(e.count, 5)), 1, 24),
5241
- size: Ho(Uo(e.size, 72), 1, 4096),
5242
- gutter: Ho(Uo(e.gutter, 20), 0, 800),
5243
- offset: Ho(Uo(e.offset, 0), 0, 4096),
5259
+ opacity: Wo(Go(e.opacity, Vo), 0, 1),
5260
+ count: Wo(Math.round(Go(e.count, 5)), 1, 24),
5261
+ size: Wo(Go(e.size, 72), 1, 4096),
5262
+ gutter: Wo(Go(e.gutter, 20), 0, 800),
5263
+ offset: Wo(Go(e.offset, 0), 0, 4096),
5244
5264
  align: n
5245
5265
  };
5246
- }, Go = (e) => (e ?? []).map(Wo), Ko = (e) => {
5266
+ }, qo = (e) => (e ?? []).map(Ko), Jo = (e) => {
5247
5267
  if (e.kind === "grid") return `Grid ${Math.round(e.size)}px`;
5248
5268
  let t = e.kind === "columns" ? "columns" : "rows";
5249
5269
  return e.align === "stretch" ? `${e.count} ${t}` : `${e.count} ${t} (${Math.round(e.size)}px)`;
5250
- }, qo = (e) => (() => {
5270
+ }, Yo = (e) => (() => {
5251
5271
  var t = Y("svg", {
5252
5272
  xmlns: "http://www.w3.org/2000/svg",
5253
5273
  viewBox: "0 0 24 24",
@@ -5266,22 +5286,22 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5266
5286
  }), ({ e, t: n }, r) => {
5267
5287
  e !== r?.e && Q(t, "width", e, r?.e), n !== r?.t && Q(t, "height", n, r?.t);
5268
5288
  }), t;
5269
- })(), Jo = (e) => e.kind === "rows" ? J(mi, { size: 14 }) : e.kind === "grid" ? J(fi, { size: 14 }) : J(pi, { size: 14 }), Yo = "msr:grid-cols-[78px_minmax(0,1fr)]", Xo = (e) => (() => {
5289
+ })(), Xo = (e) => e.kind === "rows" ? J(gi, { size: 14 }) : e.kind === "grid" ? J(mi, { size: 14 }) : J(hi, { size: 14 }), Zo = "msr:grid-cols-[78px_minmax(0,1fr)]", Qo = (e) => (() => {
5270
5290
  var t = Y("label", { class: "msr:col-span-2 msr:grid msr:h-8 msr:w-full msr:grid-cols-[78px_minmax(0,1fr)] msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700" }), n = Y("span");
5271
5291
  return X(t, n), Z(n, () => e.label), Z(t, () => e.children, null), t;
5272
- })(), Zo = (e) => (() => {
5292
+ })(), $o = (e) => (() => {
5273
5293
  var t = Y("span", { class: "msr:relative msr:block msr:w-full" }), n = Y("select", {
5274
- class: ri,
5294
+ class: ai,
5275
5295
  onPointerDown: (e) => e.stopPropagation(),
5276
5296
  onChange: (t) => e.onChange(t.currentTarget.value)
5277
5297
  });
5278
- return X(t, n), Z(n, () => e.children), Z(t, J(ii, {}), null), q(() => ({
5298
+ return X(t, n), Z(n, () => e.children), Z(t, J(oi, {}), null), q(() => ({
5279
5299
  e: e.label,
5280
5300
  t: e.value
5281
5301
  }), ({ e, t }, r) => {
5282
5302
  e !== r?.e && Q(n, "aria-label", e, r?.e), t !== r?.t && Q(n, "value", t, r?.t);
5283
5303
  }), t;
5284
- })(), Qo = (e) => {
5304
+ })(), es = (e) => {
5285
5305
  let [t, n] = K(!1), [r, i] = K(String(e.value)), a = () => e.min ?? 0, o = () => e.max ?? 9999, s = (e) => Math.min(o(), Math.max(a(), e)), c = (t) => {
5286
5306
  let n = Number(t.replace(/[^\d.-]/g, ""));
5287
5307
  if (!Number.isFinite(n)) {
@@ -5290,7 +5310,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5290
5310
  }
5291
5311
  e.onChange(s(n));
5292
5312
  };
5293
- return J(ai, { get left() {
5313
+ return J(si, { get left() {
5294
5314
  var a = Y("input", {
5295
5315
  type: "text",
5296
5316
  inputmode: "numeric",
@@ -5322,7 +5342,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5322
5342
  e !== n?.e && Q(a, "aria-label", e, n?.e), t !== n?.t && Q(a, "value", t, n?.t);
5323
5343
  }), a;
5324
5344
  } });
5325
- }, $o = (e) => e === "rows" || e === "grid" ? e : "columns", es = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", ts = (e) => {
5345
+ }, ts = (e) => e === "rows" || e === "grid" ? e : "columns", ns = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", rs = (e) => {
5326
5346
  let t = Gt(() => e.guide.kind === "rows" ? {
5327
5347
  stretch: "Stretch",
5328
5348
  min: "Top",
@@ -5339,13 +5359,13 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5339
5359
  "aria-label": "Back to layout guides",
5340
5360
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
5341
5361
  });
5342
- return X(r, i), X(i, a), Z(i, J(Zo, {
5362
+ return X(r, i), X(i, a), Z(i, J($o, {
5343
5363
  label: "Layout guide type",
5344
5364
  get value() {
5345
5365
  return e.guide.kind;
5346
5366
  },
5347
5367
  onChange: (t) => {
5348
- let n = $o(t);
5368
+ let n = ts(t);
5349
5369
  e.onUpdate({
5350
5370
  kind: n,
5351
5371
  align: n === "grid" ? "min" : e.guide.align === "stretch" || n === e.guide.kind ? e.guide.align : "stretch"
@@ -5367,15 +5387,15 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5367
5387
  })()
5368
5388
  ];
5369
5389
  }
5370
- }), a), Z(a, J(qo, {})), Z(r, J(Xt, {
5390
+ }), a), Z(a, J(Yo, {})), Z(r, J(Xt, {
5371
5391
  get when() {
5372
5392
  return e.guide.kind !== "grid";
5373
5393
  },
5374
5394
  get children() {
5375
- return J(Xo, {
5395
+ return J(Qo, {
5376
5396
  label: "Count",
5377
5397
  get children() {
5378
- return J(Qo, {
5398
+ return J(es, {
5379
5399
  label: "Count",
5380
5400
  get value() {
5381
5401
  return e.guide.count;
@@ -5387,16 +5407,16 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5387
5407
  }
5388
5408
  });
5389
5409
  }
5390
- }), null), Z(r, J(oi, {
5410
+ }), null), Z(r, J(ci, {
5391
5411
  label: "Color",
5392
- columns: Yo,
5412
+ columns: Zo,
5393
5413
  get value() {
5394
5414
  return dr({
5395
5415
  ...lr(e.guide.color) ?? lr("#FF0000"),
5396
5416
  alpha: e.guide.opacity
5397
5417
  });
5398
5418
  },
5399
- fallback: Ro,
5419
+ fallback: Bo,
5400
5420
  get ownerWindow() {
5401
5421
  return e.ownerWindow;
5402
5422
  },
@@ -5415,15 +5435,15 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5415
5435
  return e.guide.kind !== "grid";
5416
5436
  },
5417
5437
  get children() {
5418
- return J(Xo, {
5438
+ return J(Qo, {
5419
5439
  label: "Type",
5420
5440
  get children() {
5421
- return J(Zo, {
5441
+ return J($o, {
5422
5442
  label: "Alignment",
5423
5443
  get value() {
5424
5444
  return e.guide.align;
5425
5445
  },
5426
- onChange: (t) => e.onUpdate({ align: es(t) }),
5446
+ onChange: (t) => e.onUpdate({ align: ns(t) }),
5427
5447
  get children() {
5428
5448
  return J(Yt, {
5429
5449
  each: [
@@ -5447,12 +5467,12 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5447
5467
  return e.guide.kind === "grid" || e.guide.align !== "stretch";
5448
5468
  },
5449
5469
  get children() {
5450
- return J(Xo, {
5470
+ return J(Qo, {
5451
5471
  get label() {
5452
5472
  return n();
5453
5473
  },
5454
5474
  get children() {
5455
- return J(Qo, {
5475
+ return J(es, {
5456
5476
  get label() {
5457
5477
  return n();
5458
5478
  },
@@ -5471,10 +5491,10 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5471
5491
  return e.guide.kind !== "grid";
5472
5492
  },
5473
5493
  get children() {
5474
- return [J(Xo, {
5494
+ return [J(Qo, {
5475
5495
  label: "Offset",
5476
5496
  get children() {
5477
- return J(Qo, {
5497
+ return J(es, {
5478
5498
  label: "Offset",
5479
5499
  get value() {
5480
5500
  return e.guide.offset;
@@ -5484,10 +5504,10 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5484
5504
  onChange: (t) => e.onUpdate({ offset: t })
5485
5505
  });
5486
5506
  }
5487
- }), J(Xo, {
5507
+ }), J(Qo, {
5488
5508
  label: "Gutter",
5489
5509
  get children() {
5490
- return J(Qo, {
5510
+ return J(es, {
5491
5511
  label: "Gutter",
5492
5512
  get value() {
5493
5513
  return e.guide.gutter;
@@ -5503,7 +5523,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5503
5523
  Q(a, "onClick", e, t);
5504
5524
  }), r;
5505
5525
  };
5506
- function ns(e) {
5526
+ function is(e) {
5507
5527
  let [t, n] = K(null), r = Gt(() => e.guides.find((e) => e.id === t()) ?? null);
5508
5528
  var i = Y("div", {
5509
5529
  "data-mesurer-layout-guides-panel": "true",
@@ -5525,7 +5545,7 @@ function ns(e) {
5525
5545
  "aria-label": "Add layout guide",
5526
5546
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
5527
5547
  });
5528
- return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(hi, {})), Z(t, J(Xt, {
5548
+ return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(_i, {})), Z(t, J(Xt, {
5529
5549
  get when() {
5530
5550
  return e.guides.length > 0;
5531
5551
  },
@@ -5552,22 +5572,22 @@ function ns(e) {
5552
5572
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-400 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900",
5553
5573
  onClick: () => e.onRemove(t.id)
5554
5574
  });
5555
- return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Jo, { get kind() {
5575
+ return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Xo, { get kind() {
5556
5576
  return t.kind;
5557
- } })), Z(o, () => Ko(t)), Z(i, J(ci, {
5577
+ } })), Z(o, () => Jo(t)), Z(i, J(ui, {
5558
5578
  size: 8,
5559
5579
  class: "msr:block msr:-rotate-90 msr:text-ink-400"
5560
5580
  }), null), Z(s, (() => {
5561
5581
  var e = Zn(() => !!t.visible);
5562
- return () => e() ? J(gi, {}) : J(_i, {});
5563
- })()), Z(c, J(li, {
5582
+ return () => e() ? J(vi, {}) : J(yi, {});
5583
+ })()), Z(c, J(di, {
5564
5584
  size: 10,
5565
5585
  class: "msr:block"
5566
5586
  })), q(() => ({
5567
- e: t.visible ? `Hide ${Ko(t)}` : `Show ${Ko(t)}`,
5587
+ e: t.visible ? `Hide ${Jo(t)}` : `Show ${Jo(t)}`,
5568
5588
  t: t.visible ? "true" : "false",
5569
5589
  a: `msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:outline-none msr:hover:bg-ink-100 ${t.visible ? "msr:text-ink-700" : "msr:text-ink-400"}`,
5570
- o: `Remove ${Ko(t)}`
5590
+ o: `Remove ${Jo(t)}`
5571
5591
  }), ({ e, t, a: n, o: r }, i) => {
5572
5592
  e !== i?.e && Q(s, "aria-label", e, i?.e), t !== i?.t && Q(s, "aria-pressed", t, i?.t), n !== i?.a && Q(s, "class", n, i?.a), r !== i?.o && Q(c, "aria-label", r, i?.o);
5573
5593
  }), r;
@@ -5578,7 +5598,7 @@ function ns(e) {
5578
5598
  Q(a, "onClick", e, t);
5579
5599
  }), t;
5580
5600
  },
5581
- children: (t) => J(ts, {
5601
+ children: (t) => J(rs, {
5582
5602
  get guide() {
5583
5603
  return t();
5584
5604
  },
@@ -5590,56 +5610,56 @@ function ns(e) {
5590
5610
  })
5591
5611
  })), i;
5592
5612
  }
5593
- var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-guides.pages", os = "mesurer.layout-guides.active", ss = "runtime:solid", cs = "layout-guides.toggle", ls = "layout-guides.add", us = "layout-guides.update", ds = "layout-guides.remove", fs = "layout-guides.clear", ps = 240, ms = 8, hs = 8, gs = () => ({ pages: {} }), _s = (e, t) => e.pages[t] ?? [], vs = (e) => typeof e == "object" && !!e && !Array.isArray(e), ys = (e) => typeof e == "string", bs = (e) => typeof e == "boolean", xs = (e) => typeof e == "number", Ss = (e) => e === "columns" || e === "rows" || e === "grid", Cs = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", ws = (e) => ({ ...e }), Ts = (e) => e.map(ws), Es = (e) => vs(e) ? e : null, Ds = (e) => {
5613
+ var as = "mesurer.layout-guides", os = "layout-guides:v1", ss = "mesurer.layout-guides.pages", cs = "mesurer.layout-guides.active", ls = "runtime:solid", us = "layout-guides.toggle", ds = "layout-guides.add", fs = "layout-guides.update", ps = "layout-guides.remove", ms = "layout-guides.clear", hs = 240, gs = 8, _s = 8, vs = () => ({ pages: {} }), ys = (e, t) => e.pages[t] ?? [], bs = (e) => typeof e == "object" && !!e && !Array.isArray(e), xs = (e) => typeof e == "string", Ss = (e) => typeof e == "boolean", Cs = (e) => typeof e == "number", ws = (e) => e === "columns" || e === "rows" || e === "grid", Ts = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", Es = (e) => ({ ...e }), Ds = (e) => e.map(Es), Os = (e) => bs(e) ? e : null, ks = (e) => {
5594
5614
  if (!e) return {};
5595
5615
  let t = {};
5596
- return ys(e.id) && (t.id = e.id), Ss(e.kind) && (t.kind = e.kind), bs(e.visible) && (t.visible = e.visible), ys(e.color) && (t.color = e.color), xs(e.opacity) && (t.opacity = e.opacity), xs(e.count) && (t.count = e.count), xs(e.size) && (t.size = e.size), xs(e.gutter) && (t.gutter = e.gutter), xs(e.offset) && (t.offset = e.offset), Cs(e.align) && (t.align = e.align), t;
5597
- }, Os = (e) => {
5616
+ return xs(e.id) && (t.id = e.id), ws(e.kind) && (t.kind = e.kind), Ss(e.visible) && (t.visible = e.visible), xs(e.color) && (t.color = e.color), Cs(e.opacity) && (t.opacity = e.opacity), Cs(e.count) && (t.count = e.count), Cs(e.size) && (t.size = e.size), Cs(e.gutter) && (t.gutter = e.gutter), Cs(e.offset) && (t.offset = e.offset), Ts(e.align) && (t.align = e.align), t;
5617
+ }, As = (e) => {
5598
5618
  let t = {};
5599
5619
  return e.id !== void 0 && (t.id = e.id), e.kind !== void 0 && (t.kind = e.kind), e.visible !== void 0 && (t.visible = e.visible), e.color !== void 0 && (t.color = e.color), e.opacity !== void 0 && (t.opacity = e.opacity), e.count !== void 0 && (t.count = e.count), e.size !== void 0 && (t.size = e.size), e.gutter !== void 0 && (t.gutter = e.gutter), e.offset !== void 0 && (t.offset = e.offset), e.align !== void 0 && (t.align = e.align), t;
5600
- }, ks = {
5620
+ }, js = {
5601
5621
  viewBox: "0 0 256 256",
5602
5622
  paths: ["M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z", "M101 56h8v144h-8zM147 56h8v144h-8z"]
5603
- }, As = () => ar({
5604
- id: rs,
5623
+ }, Ms = () => ar({
5624
+ id: as,
5605
5625
  version: "0.1.0",
5606
- requires: [ss],
5607
- provides: [is, "tool:layout-guides"],
5626
+ requires: [ls],
5627
+ provides: [os, "tool:layout-guides"],
5608
5628
  setup(e) {
5609
- let t = e.service.get(ss);
5629
+ let t = e.service.get(ls);
5610
5630
  if (!t) throw Error("Layout Guides requires the Solid renderer runtime.");
5611
5631
  let n = t.rendererRoot;
5612
5632
  if (!n) throw Error("Layout Guides requires a mounted renderer root.");
5613
5633
  e.state.register({
5614
- id: as,
5615
- initial: gs(),
5634
+ id: ss,
5635
+ initial: vs(),
5616
5636
  history: !0,
5617
5637
  persist: !0
5618
5638
  }), e.state.register({
5619
- id: os,
5639
+ id: cs,
5620
5640
  initial: !1
5621
5641
  });
5622
- let r = Jr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? gs(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => Go(_s(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
5623
- e.state.update(os, () => t);
5642
+ let r = Xr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? vs(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => qo(ys(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
5643
+ e.state.update(cs, () => t);
5624
5644
  }, m = (t) => {
5625
- e.state.update(as, (e) => ({
5645
+ e.state.update(ss, (e) => ({
5626
5646
  ...e,
5627
5647
  pages: {
5628
5648
  ...e.pages,
5629
- [r]: Ts(t(Go(e.pages[r])))
5649
+ [r]: Ds(t(qo(e.pages[r])))
5630
5650
  }
5631
5651
  }));
5632
5652
  };
5633
- e.command.register(cs, () => {
5653
+ e.command.register(us, () => {
5634
5654
  let e = !u();
5635
- return e && d().length === 0 && m(() => [Wo()]), i = e, p(e), u();
5636
- }), e.command.register(ls, (e) => {
5637
- let t = Wo(Ds(Es(e)));
5655
+ return e && d().length === 0 && m(() => [Ko()]), i = e, p(e), u();
5656
+ }), e.command.register(ds, (e) => {
5657
+ let t = Ko(ks(Os(e)));
5638
5658
  return m((e) => [...e, t]), { ...t };
5639
- }), e.command.register(us, (e) => {
5640
- let t = Es(e), n = t && ys(t.id) ? t.id : null, r = Ds(Es(t?.patch));
5659
+ }), e.command.register(fs, (e) => {
5660
+ let t = Os(e), n = t && xs(t.id) ? t.id : null, r = ks(Os(t?.patch));
5641
5661
  if (!n) throw Error("layout-guides.update requires a guide id.");
5642
- m((e) => e.map((e) => e.id === n ? Wo({
5662
+ m((e) => e.map((e) => e.id === n ? Ko({
5643
5663
  ...e,
5644
5664
  ...r,
5645
5665
  id: e.id
@@ -5647,30 +5667,30 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5647
5667
  let i = d().find((e) => e.id === n);
5648
5668
  if (!i) throw Error(`Layout guide not found: ${n}`);
5649
5669
  return { ...i };
5650
- }), e.command.register(ds, (e) => {
5651
- let t = Es(e), n = t && ys(t.id) ? t.id : null;
5670
+ }), e.command.register(ps, (e) => {
5671
+ let t = Os(e), n = t && xs(t.id) ? t.id : null;
5652
5672
  if (!n) throw Error("layout-guides.remove requires a guide id.");
5653
5673
  let r = d().length;
5654
5674
  return m((e) => e.filter((e) => e.id !== n)), d().length !== r;
5655
- }), e.command.register(fs, () => {
5675
+ }), e.command.register(ms, () => {
5656
5676
  m(() => []);
5657
5677
  });
5658
5678
  let h = async (t, n) => {
5659
- let r = Es(await e.command.execute(t, n));
5679
+ let r = Os(await e.command.execute(t, n));
5660
5680
  if (!r) throw Error(`${t} did not return a layout guide.`);
5661
- return Wo(Ds(r));
5681
+ return Ko(ks(r));
5662
5682
  }, g = {
5663
5683
  list: () => d().map((e) => ({ ...e })),
5664
- add: (e = {}) => h(ls, Os(e)),
5665
- update: (e, t) => h(us, {
5684
+ add: (e = {}) => h(ds, As(e)),
5685
+ update: (e, t) => h(fs, {
5666
5686
  id: e,
5667
- patch: Os(t)
5687
+ patch: As(t)
5668
5688
  }),
5669
5689
  async remove(t) {
5670
- return await e.command.execute(ds, { id: t }) === !0;
5690
+ return await e.command.execute(ps, { id: t }) === !0;
5671
5691
  },
5672
5692
  async clear() {
5673
- await e.command.execute(fs);
5693
+ await e.command.execute(ms);
5674
5694
  },
5675
5695
  subscribe(e) {
5676
5696
  s.add(e);
@@ -5680,25 +5700,25 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5680
5700
  };
5681
5701
  }
5682
5702
  };
5683
- e.service.provide(is, g), e.tool.register({
5703
+ e.service.provide(os, g), e.tool.register({
5684
5704
  id: "layout-guides",
5685
5705
  label: "Layout guides",
5686
5706
  shortcut: "L",
5687
- command: cs,
5707
+ command: us,
5688
5708
  order: 38,
5689
- icon: ks,
5709
+ icon: js,
5690
5710
  active: u
5691
5711
  });
5692
5712
  let _ = t.ownerDocument.createElement("div");
5693
5713
  _.dataset.mesurerLayoutGuidesRoot = "true", _.dataset.mesurerLayer = "evidence", _.style.position = "absolute", _.style.inset = "0", _.style.pointerEvents = "none", n.prepend(_);
5694
- let v = Xn(() => J(Lo, { get guides() {
5714
+ let v = Xn(() => J(zo, { get guides() {
5695
5715
  return f();
5696
5716
  } }), _), y = t.createInspectorMount();
5697
5717
  y.element.dataset.mesurerLayoutGuidesPanelRoot = "true", Object.assign(y.element.style, {
5698
5718
  position: "fixed",
5699
5719
  left: "0",
5700
5720
  top: "0",
5701
- width: `${ps}px`,
5721
+ width: `${hs}px`,
5702
5722
  zIndex: "100",
5703
5723
  pointerEvents: "none",
5704
5724
  display: "none"
@@ -5707,13 +5727,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5707
5727
  if (c = 0, !i) return;
5708
5728
  let e = t.portalTarget.querySelector("[data-mesurer-tool-id='layout-guides']");
5709
5729
  if (!e) return;
5710
- let n = e.getBoundingClientRect(), r = Math.min(Math.max(hs, n.right - ps), Math.max(hs, t.ownerWindow.innerWidth - ps - hs)), a = t.ownerWindow.innerHeight - n.bottom - ms - hs, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + ms : Math.max(hs, n.top - ms - o);
5730
+ let n = e.getBoundingClientRect(), r = Math.min(Math.max(_s, n.right - hs), Math.max(_s, t.ownerWindow.innerWidth - hs - _s)), a = t.ownerWindow.innerHeight - n.bottom - gs - _s, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + gs : Math.max(_s, n.top - gs - o);
5711
5731
  y.element.style.left = `${r}px`, y.element.style.top = `${s}px`;
5712
5732
  }, x = () => {
5713
5733
  c ||= t.ownerWindow.requestAnimationFrame(b);
5714
5734
  }, S = () => {
5715
5735
  y.element.style.display = i ? "block" : "none", i && x();
5716
- }, C = Xn(() => J(ns, {
5736
+ }, C = Xn(() => J(is, {
5717
5737
  get guides() {
5718
5738
  return f();
5719
5739
  },
@@ -5733,7 +5753,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5733
5753
  o((e) => e + 1);
5734
5754
  for (let e of s) e();
5735
5755
  S();
5736
- }, T = e.state.subscribe(w), E = Qr(t.ownerWindow, (e) => {
5756
+ }, T = e.state.subscribe(w), E = ei(t.ownerWindow, (e) => {
5737
5757
  r !== e && (r = e, w());
5738
5758
  }), D = (e) => {
5739
5759
  if (!i) return;
@@ -5748,14 +5768,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5748
5768
  t.ownerDocument.removeEventListener("pointerdown", D, !0), t.ownerDocument.removeEventListener("keydown", O, !0), t.ownerWindow.removeEventListener("resize", x), t.ownerWindow.removeEventListener("pointerup", x, !0), c && t.ownerWindow.cancelAnimationFrame(c), c = 0, s.clear(), T.dispose(), E(), C(), y.dispose(), v(), _.remove();
5749
5769
  });
5750
5770
  }
5751
- }), js = 144, Ms = 96, Ns = 8, Ps = 4, Fs = 1800, Is = (e, t) => {
5771
+ }), Ns = 144, Ps = 96, Fs = 8, Is = 4, Ls = 1800, Rs = (e, t) => {
5752
5772
  for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
5753
- }, Ls = (e, t) => ({
5754
- left: Math.min(Math.max(Ns, e.left), Math.max(Ns, t.innerWidth - js - Ns)),
5755
- top: Math.min(Math.max(Ns, e.top), Math.max(Ns, t.innerHeight - Ms - Ns))
5756
- }), Rs = (e, t) => {
5773
+ }, zs = (e, t) => ({
5774
+ left: Math.min(Math.max(Fs, e.left), Math.max(Fs, t.innerWidth - Ns - Fs)),
5775
+ top: Math.min(Math.max(Fs, e.top), Math.max(Fs, t.innerHeight - Ps - Fs))
5776
+ }), Bs = (e, t) => {
5757
5777
  let n = e.createElement("button");
5758
- return n.type = "button", n.textContent = t, Is(n, {
5778
+ return n.type = "button", n.textContent = t, Rs(n, {
5759
5779
  height: "32px",
5760
5780
  padding: "0 12px",
5761
5781
  border: "1px solid rgb(255 255 255 / 18%)",
@@ -5767,11 +5787,11 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5767
5787
  "font-weight": "500",
5768
5788
  cursor: "pointer"
5769
5789
  }), n;
5770
- }, zs = ({ copied: e, downloaded: t, copyFailed: n, downloadFailed: r }) => e && t ? "Copied and saved screenshot" : e && r ? "Copied screenshot · Save unavailable" : t && n ? "Saved screenshot · Copy unavailable" : e ? "Copied screenshot" : t ? "Saved screenshot" : n && r ? "Screenshot captured · Copy and save unavailable" : n ? "Screenshot captured · Copy unavailable" : r ? "Screenshot captured · Save unavailable" : "Screenshot captured", Bs = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), Vs = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
5790
+ }, Vs = ({ copied: e, downloaded: t, copyFailed: n, downloadFailed: r }) => e && t ? "Copied and saved screenshot" : e && r ? "Copied screenshot · Save unavailable" : t && n ? "Saved screenshot · Copy unavailable" : e ? "Copied screenshot" : t ? "Saved screenshot" : n && r ? "Screenshot captured · Copy and save unavailable" : n ? "Screenshot captured · Copy unavailable" : r ? "Screenshot captured · Save unavailable" : "Screenshot captured", Hs = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), Us = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
5771
5791
  let i = n.closest("[data-mesurer-root='true']")?.parentNode ?? n.parentNode;
5772
- if (!Bs(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
5792
+ if (!Hs(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
5773
5793
  let a = e.createElement("div");
5774
- a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", Is(a, {
5794
+ a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", Rs(a, {
5775
5795
  position: "fixed",
5776
5796
  left: "0",
5777
5797
  top: "0",
@@ -5783,12 +5803,12 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5783
5803
  "font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
5784
5804
  }), i.append(a);
5785
5805
  let o = e.createElement("div");
5786
- o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, Is(o, {
5806
+ o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, Rs(o, {
5787
5807
  position: "fixed",
5788
5808
  display: "none",
5789
5809
  "z-index": "96",
5790
- width: `${js}px`,
5791
- height: `${Ms}px`,
5810
+ width: `${Ns}px`,
5811
+ height: `${Ps}px`,
5792
5812
  "box-sizing": "border-box",
5793
5813
  overflow: "hidden",
5794
5814
  "border-radius": "10px",
@@ -5801,7 +5821,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5801
5821
  "touch-action": "none"
5802
5822
  });
5803
5823
  let s = e.createElement("img");
5804
- s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", Is(s, {
5824
+ s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", Rs(s, {
5805
5825
  display: "block",
5806
5826
  width: "100%",
5807
5827
  height: "100%",
@@ -5809,7 +5829,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5809
5829
  "background-color": "white"
5810
5830
  }), o.append(s);
5811
5831
  let c = e.createElement("button");
5812
- c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", Is(c, {
5832
+ c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", Rs(c, {
5813
5833
  position: "absolute",
5814
5834
  top: "8px",
5815
5835
  right: "8px",
@@ -5835,7 +5855,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5835
5855
  let u = e.createElementNS("http://www.w3.org/2000/svg", "path");
5836
5856
  u.setAttribute("d", "m4 4 8 8M12 4l-8 8"), u.setAttribute("stroke", "currentColor"), u.setAttribute("stroke-width", "1.75"), u.setAttribute("stroke-linecap", "round"), l.append(u), c.append(l), o.append(c), a.append(o);
5837
5857
  let d = e.createElement("div");
5838
- d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), Is(d, {
5858
+ d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), Rs(d, {
5839
5859
  position: "fixed",
5840
5860
  inset: "0",
5841
5861
  display: "none",
@@ -5849,7 +5869,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5849
5869
  "pointer-events": "auto"
5850
5870
  });
5851
5871
  let f = e.createElement("img");
5852
- f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", Is(f, {
5872
+ f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", Rs(f, {
5853
5873
  display: "block",
5854
5874
  "max-width": "calc(100vw - 96px)",
5855
5875
  "max-height": "calc(100vh - 112px)",
@@ -5860,7 +5880,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5860
5880
  "box-shadow": "0 8px 30px rgb(0 0 0 / 28%)"
5861
5881
  }), d.append(f);
5862
5882
  let p = e.createElement("div");
5863
- p.dataset.mesurerScreenshotViewerControls = "true", Is(p, {
5883
+ p.dataset.mesurerScreenshotViewerControls = "true", Rs(p, {
5864
5884
  position: "fixed",
5865
5885
  top: "16px",
5866
5886
  right: "16px",
@@ -5868,14 +5888,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5868
5888
  gap: "8px",
5869
5889
  "pointer-events": "auto"
5870
5890
  });
5871
- let m = Rs(e, "Copy");
5891
+ let m = Bs(e, "Copy");
5872
5892
  m.dataset.mesurerScreenshotViewerCopy = "true", m.setAttribute("aria-label", "Copy screenshot");
5873
- let h = Rs(e, "Save");
5893
+ let h = Bs(e, "Save");
5874
5894
  h.dataset.mesurerScreenshotViewerSave = "true", h.setAttribute("aria-label", "Save screenshot");
5875
- let g = Rs(e, "Close");
5895
+ let g = Bs(e, "Close");
5876
5896
  g.dataset.mesurerScreenshotViewerClose = "true", g.setAttribute("aria-label", "Close screenshot viewer"), p.append(m, h, g), d.append(p), a.append(d);
5877
5897
  let _ = e.createElement("div");
5878
- _.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), Is(_, {
5898
+ _.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), Rs(_, {
5879
5899
  position: "fixed",
5880
5900
  left: "50%",
5881
5901
  bottom: "20px",
@@ -5897,18 +5917,18 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5897
5917
  }, D = (e, n = !1) => {
5898
5918
  E(), _.textContent = e, _.style.backgroundColor = n ? "#b42318" : "rgb(28 28 30 / 90%)", _.style.display = "block", C = t.setTimeout(() => {
5899
5919
  C = 0, _.style.display = "none";
5900
- }, Fs);
5920
+ }, Ls);
5901
5921
  }, O = () => {
5902
5922
  d.style.display = "none";
5903
5923
  }, k = () => {
5904
5924
  y && globalThis.URL.revokeObjectURL(y), y = null, v = null, s.removeAttribute("src"), f.removeAttribute("src");
5905
5925
  }, A = () => {
5906
5926
  T(), O(), o.style.display = "none", k();
5907
- }, j = () => Ls({
5908
- left: t.innerWidth - js - Ns,
5909
- top: t.innerHeight - Ms - Ns
5927
+ }, j = () => zs({
5928
+ left: t.innerWidth - Ns - Fs,
5929
+ top: t.innerHeight - Ps - Fs
5910
5930
  }, t), M = (e) => {
5911
- let n = Ls(e, t);
5931
+ let n = zs(e, t);
5912
5932
  b = n, o.style.left = `${n.left}px`, o.style.top = `${n.top}px`;
5913
5933
  }, ee = () => {
5914
5934
  !v || !y || (T(), d.style.display = "flex", g.focus());
@@ -5942,7 +5962,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5942
5962
  let n = x;
5943
5963
  if (!n) return;
5944
5964
  let r = e - n.startX, i = t - n.startY;
5945
- !n.moved && Math.hypot(r, i) >= Ps && (n.moved = !0), n.moved && M({
5965
+ !n.moved && Math.hypot(r, i) >= Is && (n.moved = !0), n.moved && M({
5946
5966
  left: n.left + r,
5947
5967
  top: n.top + i
5948
5968
  });
@@ -5986,25 +6006,25 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5986
6006
  if (w) return;
5987
6007
  T(), O(), k(), v = e;
5988
6008
  let i = globalThis.URL.createObjectURL(e);
5989
- y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(zs(n)), r > 0 && (S = t.setTimeout(A, r));
6009
+ y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(Vs(n)), r > 0 && (S = t.setTimeout(A, r));
5990
6010
  },
5991
6011
  dismiss: A,
5992
6012
  dispose() {
5993
6013
  w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", z, !0), t.removeEventListener("mouseup", B, !0), t.removeEventListener("pointermove", ne, !0), t.removeEventListener("pointerup", re, !0), t.removeEventListener("pointercancel", H, !0), t.removeEventListener("keydown", W, !0), o.removeEventListener("mousedown", R), o.removeEventListener("pointerdown", V), o.removeEventListener("keydown", ie), o.removeEventListener("contextmenu", U), d.removeEventListener("click", ae), a.remove());
5994
6014
  }
5995
6015
  };
5996
- }, Hs = "mesurer.screenshot", Us = "screenshot", Ws = "mesurer.screenshot.settings", Gs = "mesurer.screenshot.active", Ks = "runtime:solid", qs = "screenshot.toggle", Js = 2500, Ys = 0, Xs = [
6016
+ }, Ws = "mesurer.screenshot", Gs = "screenshot", Ks = "mesurer.screenshot.settings", qs = "mesurer.screenshot.active", Js = "runtime:solid", Ys = "screenshot.toggle", Xs = 2500, Zs = 0, Qs = [
5997
6017
  "[data-mesurer-measurement='true']",
5998
6018
  "[data-mesurer-selected-measurement='true']",
5999
6019
  "[data-mesurer-selection-spacing-target='true']",
6000
6020
  "[data-mesurer-guide='true']",
6001
6021
  "[data-mesurer-distance='true']"
6002
- ].join(","), Zs = `${Xs},[data-mesurer-rulers='true']`, Qs = {
6022
+ ].join(","), $s = `${Qs},[data-mesurer-rulers='true']`, ec = {
6003
6023
  viewBox: "0 0 256 256",
6004
6024
  paths: ["m 96,50 a 6.0006,6.0006 0 0 0 -4.992188,2.671875 L 76.789062,74 H 40 C 27.920803,74 18,83.920803 18,96 v 96 c 0,12.0792 9.920803,22 22,22 h 176 c 12.0792,0 22,-9.9208 22,-22 V 96 C 238,83.920803 228.0792,74 216,74 H 179.21094 L 164.99219,52.671875 A 6.0006,6.0006 0 0 0 160,50 Z m 3.210937,12 h 57.578123 l 14.21875,21.328125 A 6.0006,6.0006 0 0 0 176,86 h 40 c 5.59392,0 10,4.406085 10,10 v 96 c 0,5.59392 -4.40608,10 -10,10 H 40 c -5.593915,0 -10,-4.40608 -10,-10 V 96 c 0,-5.593915 4.406085,-10 10,-10 h 40 a 6.0006,6.0006 0 0 0 4.992187,-2.671875 z", "m 128,94 c -23.12489,0 -42,18.87511 -42,42 0,23.12489 18.87511,42 42,42 23.12489,0 42,-18.87511 42,-42 0,-23.12489 -18.87511,-42 -42,-42 z m 0,12 c 16.63961,0 30,13.36039 30,30 0,16.63961 -13.36039,30 -30,30 -16.63961,0 -30,-13.36039 -30,-30 0,-16.63961 13.36039,-30 30,-30 z"]
6005
- }, $s = (e, t) => {
6025
+ }, tc = (e, t) => {
6006
6026
  for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
6007
- }, ec = (e, t) => {
6027
+ }, nc = (e, t) => {
6008
6028
  for (let n of [
6009
6029
  "left",
6010
6030
  "top",
@@ -6016,63 +6036,63 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6016
6036
  let r = t[n];
6017
6037
  r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
6018
6038
  }
6019
- }, tc = (e) => {
6020
- let t = e(Ws);
6039
+ }, rc = (e) => {
6040
+ let t = e(Ks);
6021
6041
  return {
6022
6042
  toolEnabled: t?.toolEnabled ?? !0,
6023
6043
  copy: t?.copy ?? !0,
6024
6044
  download: t?.download ?? !1,
6025
6045
  includeMeasurements: t?.includeMeasurements ?? !1
6026
6046
  };
6027
- }, nc = (e) => ({
6047
+ }, ic = (e) => ({
6028
6048
  value: e.style.getPropertyValue("display"),
6029
6049
  priority: e.style.getPropertyPriority("display")
6030
- }), rc = (e, t) => {
6050
+ }), ac = (e, t) => {
6031
6051
  t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
6032
- }, ic = (e, t) => {
6052
+ }, oc = (e, t) => {
6033
6053
  let n = e;
6034
6054
  for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
6035
6055
  return n.parentElement === t ? n : null;
6036
- }, ac = (e) => {
6056
+ }, sc = (e) => {
6037
6057
  let t = e.querySelector("[data-mesurer-root='true']");
6038
6058
  if (!t) return () => void 0;
6039
6059
  let n = /* @__PURE__ */ new Set();
6040
6060
  for (let e of t.querySelectorAll("[data-mesurer-rulers='true']")) {
6041
- let r = ic(e, t);
6061
+ let r = oc(e, t);
6042
6062
  r && n.add(r);
6043
6063
  }
6044
- for (let e of t.querySelectorAll(Xs)) {
6045
- let r = ic(e, t);
6064
+ for (let e of t.querySelectorAll(Qs)) {
6065
+ let r = oc(e, t);
6046
6066
  r && n.add(r);
6047
6067
  }
6048
6068
  let r = [];
6049
6069
  for (let e of n) e.dataset.mesurerInspectorUi !== "true" && (r.push({
6050
6070
  element: e,
6051
- display: nc(e)
6071
+ display: ic(e)
6052
6072
  }), e.style.setProperty("display", "none", "important"));
6053
6073
  return () => {
6054
- for (let e of r) rc(e.element, e.display);
6074
+ for (let e of r) ac(e.element, e.display);
6055
6075
  };
6056
- }, oc = (e) => Array.from(e.querySelectorAll(Zs)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
6076
+ }, cc = (e) => Array.from(e.querySelectorAll($s)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
6057
6077
  element: e,
6058
- display: nc(e)
6059
- })), sc = (e) => {
6060
- for (let t of e) t.element.isConnected && rc(t.element, t.display);
6061
- }, cc = (e = {}) => ar({
6062
- id: Hs,
6078
+ display: ic(e)
6079
+ })), lc = (e) => {
6080
+ for (let t of e) t.element.isConnected && ac(t.element, t.display);
6081
+ }, uc = (e = {}) => ar({
6082
+ id: Ws,
6063
6083
  version: "0.1.0",
6064
- requires: [Ks],
6084
+ requires: [Js],
6065
6085
  provides: [
6066
6086
  "tool:screenshot",
6067
6087
  "capture:screenshot",
6068
6088
  "settings:screenshot"
6069
6089
  ],
6070
6090
  setup(t) {
6071
- let n = t.service.get(Ks);
6091
+ let n = t.service.get(Js);
6072
6092
  if (!n) throw Error("Screenshot plugin requires the Solid renderer runtime.");
6073
- let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ?? Ys;
6093
+ let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ?? Zs;
6074
6094
  t.state.register({
6075
- id: Ws,
6095
+ id: Ks,
6076
6096
  initial: {
6077
6097
  toolEnabled: e.toolEnabled ?? !0,
6078
6098
  copy: e.copy ?? !0,
@@ -6081,11 +6101,11 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6081
6101
  },
6082
6102
  persist: !0
6083
6103
  }), t.state.register({
6084
- id: Gs,
6104
+ id: qs,
6085
6105
  initial: !1
6086
6106
  });
6087
6107
  let u = o.element;
6088
- u.dataset.mesurerScreenshot = "true", $s(u, {
6108
+ u.dataset.mesurerScreenshot = "true", tc(u, {
6089
6109
  position: "fixed",
6090
6110
  inset: "0",
6091
6111
  "z-index": "85",
@@ -6093,7 +6113,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6093
6113
  "font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
6094
6114
  });
6095
6115
  let d = r.createElement("div");
6096
- d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"), $s(d, {
6116
+ d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"), tc(d, {
6097
6117
  position: "fixed",
6098
6118
  inset: "0",
6099
6119
  display: "none",
@@ -6105,13 +6125,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6105
6125
  }), u.append(d);
6106
6126
  let f = Array.from({ length: 4 }, () => {
6107
6127
  let e = r.createElement("div");
6108
- return $s(e, {
6128
+ return tc(e, {
6109
6129
  position: "fixed",
6110
6130
  "background-color": "rgb(0 0 0 / 40%)",
6111
6131
  "pointer-events": "none"
6112
6132
  }), d.append(e), e;
6113
6133
  }), p = r.createElement("div");
6114
- $s(p, {
6134
+ tc(p, {
6115
6135
  position: "fixed",
6116
6136
  display: "none",
6117
6137
  border: "1px solid #0d99ff",
@@ -6119,7 +6139,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6119
6139
  "pointer-events": "none"
6120
6140
  }), d.append(p);
6121
6141
  let m = r.createElement("div");
6122
- $s(m, {
6142
+ tc(m, {
6123
6143
  position: "fixed",
6124
6144
  display: "none",
6125
6145
  "z-index": "86",
@@ -6133,7 +6153,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6133
6153
  "pointer-events": "none"
6134
6154
  }), d.append(m);
6135
6155
  let h = r.createElement("div");
6136
- h.textContent = "Drag to select · Esc to cancel", $s(h, {
6156
+ h.textContent = "Drag to select · Esc to cancel", tc(h, {
6137
6157
  position: "fixed",
6138
6158
  left: "50%",
6139
6159
  bottom: "16px",
@@ -6146,7 +6166,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6146
6166
  "pointer-events": "none"
6147
6167
  }), d.append(h);
6148
6168
  let g = r.createElement("div");
6149
- g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot", $s(g, {
6169
+ g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot", tc(g, {
6150
6170
  position: "fixed",
6151
6171
  display: "none",
6152
6172
  "z-index": "97",
@@ -6157,8 +6177,8 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6157
6177
  "font-size": "11px",
6158
6178
  "pointer-events": "none"
6159
6179
  }), u.append(g);
6160
- let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () => tc(t.state.get), E = (e) => {
6161
- t.state.update(Ws, (t) => {
6180
+ let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () => rc(t.state.get), E = (e) => {
6181
+ t.state.update(Ks, (t) => {
6162
6182
  let n = { ...t };
6163
6183
  return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), e.copy !== void 0 && (n.copy = e.copy), e.download !== void 0 && (n.download = e.download), e.includeMeasurements !== void 0 && (n.includeMeasurements = e.includeMeasurements), n;
6164
6184
  });
@@ -6181,13 +6201,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6181
6201
  }, A = (e) => {
6182
6202
  let t = i.innerWidth, n = i.innerHeight;
6183
6203
  if (!e || e.width <= 0 || e.height <= 0) {
6184
- ec(f[0], {
6204
+ nc(f[0], {
6185
6205
  left: 0,
6186
6206
  top: 0,
6187
6207
  width: t,
6188
6208
  height: n
6189
6209
  });
6190
- for (let e of f.slice(1)) ec(e, {
6210
+ for (let e of f.slice(1)) nc(e, {
6191
6211
  left: 0,
6192
6212
  top: 0,
6193
6213
  width: 0,
@@ -6196,31 +6216,31 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6196
6216
  p.style.display = "none", m.style.display = "none";
6197
6217
  return;
6198
6218
  }
6199
- ec(f[0], {
6219
+ nc(f[0], {
6200
6220
  left: 0,
6201
6221
  top: 0,
6202
6222
  width: t,
6203
6223
  height: e.top
6204
- }), ec(f[1], {
6224
+ }), nc(f[1], {
6205
6225
  left: 0,
6206
6226
  top: e.top,
6207
6227
  width: e.left,
6208
6228
  height: e.height
6209
- }), ec(f[2], {
6229
+ }), nc(f[2], {
6210
6230
  left: e.left + e.width,
6211
6231
  top: e.top,
6212
6232
  width: Math.max(0, t - e.left - e.width),
6213
6233
  height: e.height
6214
- }), ec(f[3], {
6234
+ }), nc(f[3], {
6215
6235
  left: 0,
6216
6236
  top: e.top + e.height,
6217
6237
  width: t,
6218
6238
  height: Math.max(0, n - e.top - e.height)
6219
- }), p.style.display = "block", ec(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, ec(m, {
6239
+ }), p.style.display = "block", nc(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, nc(m, {
6220
6240
  left: e.left + e.width / 2,
6221
6241
  top: Math.min(n - 22, e.top + e.height + 6)
6222
6242
  });
6223
- }, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M = Vs({
6243
+ }, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M = Us({
6224
6244
  ownerDocument: r,
6225
6245
  ownerWindow: i,
6226
6246
  root: u,
@@ -6231,7 +6251,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6231
6251
  }, N = () => {
6232
6252
  y && i.clearTimeout(y), g.style.display = "block", ee(g), y = i.setTimeout(() => {
6233
6253
  y = 0, g.style.display = "none";
6234
- }, Js);
6254
+ }, Xs);
6235
6255
  }, P = () => {
6236
6256
  _ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
6237
6257
  }, F = () => {
@@ -6240,8 +6260,8 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6240
6260
  if (x) throw Error("A screenshot capture is already running.");
6241
6261
  if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
6242
6262
  x = !0;
6243
- let o = ++b, s = T(), l = s.includeMeasurements ? oc(r) : [], u = s.includeMeasurements ? () => void 0 : ac(n.portalTarget);
6244
- a.prepareCapture(), s.includeMeasurements && sc(l);
6263
+ let o = ++b, s = T(), l = s.includeMeasurements ? cc(r) : [], u = s.includeMeasurements ? () => void 0 : sc(n.portalTarget);
6264
+ a.prepareCapture(), s.includeMeasurements && lc(l);
6245
6265
  try {
6246
6266
  d.style.visibility = "hidden", await Cr(i);
6247
6267
  let n = await yr(await c({
@@ -6349,8 +6369,8 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6349
6369
  label: "Screenshot",
6350
6370
  shortcut: "Shift+S",
6351
6371
  order: 70,
6352
- command: qs,
6353
- icon: Qs,
6372
+ command: Ys,
6373
+ icon: ec,
6354
6374
  active: w,
6355
6375
  hidden: () => !T().toolEnabled,
6356
6376
  menu: {
@@ -6416,14 +6436,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6416
6436
  set: (e) => E({ includeMeasurements: e })
6417
6437
  }
6418
6438
  ]
6419
- }), t.command.register(qs, I), t.service.provide(Us, ne), t.lifecycle.onDispose(() => {
6439
+ }), t.command.register(Ys, I), t.service.provide(Gs, ne), t.lifecycle.onDispose(() => {
6420
6440
  C = !0, b += 1, d.removeEventListener("pointerdown", L), d.removeEventListener("pointermove", R), d.removeEventListener("pointerup", z), d.removeEventListener("pointercancel", B), i.removeEventListener("keydown", V, !0), y && i.clearTimeout(y), M.dispose(), k(), Hr(i), a.finishCapture(), a.dispose(), o.dispose();
6421
6441
  });
6422
6442
  }
6423
- }), lc = "0.2.0-beta.4", uc = ya, dc = ga, fc = _a, pc = ba, mc = va, hc = () => ({
6424
- ...no(),
6425
- version: lc
6426
- }), gc = (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, _c = (e) => {
6443
+ }), dc = "0.2.0-beta.5", fc = xa, pc = va, mc = ya, hc = Sa, gc = ba, _c = () => ({
6444
+ ...io(),
6445
+ version: dc
6446
+ }), vc = (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, yc = (e) => {
6427
6447
  if (!e.length) return null;
6428
6448
  let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
6429
6449
  return {
@@ -6432,43 +6452,43 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6432
6452
  width: r - t,
6433
6453
  height: i - n
6434
6454
  };
6435
- }, vc = (e, t, n) => t.some((t) => e.orientation === "vertical" ? e.position >= t.left - n && e.position <= t.left + t.width + n : e.position >= t.top - n && e.position <= t.top + t.height + n), yc = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
6436
- function bc(e) {
6455
+ }, bc = (e, t, n) => t.some((t) => e.orientation === "vertical" ? e.position >= t.left - n && e.position <= t.left + t.width + n : e.position >= t.top - n && e.position <= t.top + t.height + n), xc = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
6456
+ function Sc(e) {
6437
6457
  let { workspace: t, scope: n, guideTolerance: r } = e;
6438
6458
  if (n.kind === "workspace") return {
6439
6459
  guides: t.guides.map((e) => ({ ...e })),
6440
- measurements: yc(t),
6460
+ measurements: xc(t),
6441
6461
  distances: [...t.distances]
6442
6462
  };
6443
- let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => gc(e, t));
6463
+ let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => vc(e, t));
6444
6464
  return {
6445
- guides: t.guides.filter((e) => vc(e, n.regions, r)).map((e) => ({ ...e })),
6446
- measurements: yc(t).filter((e) => a(e.elementRef) || o(e.rect)),
6465
+ guides: t.guides.filter((e) => bc(e, n.regions, r)).map((e) => ({ ...e })),
6466
+ measurements: xc(t).filter((e) => a(e.elementRef) || o(e.rect)),
6447
6467
  distances: t.distances.filter((e) => a(e.elementRefA) || a(e.elementRefB) || o(e.rectA) || o(e.rectB))
6448
6468
  };
6449
6469
  }
6450
6470
  //#endregion
6451
6471
  //#region ../mesurer-core/dist/domain.js
6452
- var xc = {
6472
+ var Cc = {
6453
6473
  opacity: 1,
6454
6474
  width: 1,
6455
6475
  pattern: "solid",
6456
6476
  dashLength: 6,
6457
6477
  gap: 4
6458
- }, Sc = {
6478
+ }, wc = {
6459
6479
  opacity: 1,
6460
6480
  edgeReveal: !1
6461
6481
  };
6462
- ({ ...xc }), { ...Sc };
6482
+ ({ ...Cc }), { ...wc };
6463
6483
  //#endregion
6464
6484
  //#region ../mesurer-dom/dist/index.js
6465
- var Cc = (e) => Number.parseFloat(e) || 0, wc = 0, Tc = (e, t) => {
6485
+ var Tc = (e) => Number.parseFloat(e) || 0, Ec = 0, Dc = (e, t) => {
6466
6486
  let n = t.CSS;
6467
6487
  return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
6468
6488
  };
6469
- function Ec(e) {
6489
+ function Oc(e) {
6470
6490
  let t = e.ownerDocument.defaultView ?? window;
6471
- if (e.id) return `#${Tc(e.id, t)}`;
6491
+ if (e.id) return `#${Dc(e.id, t)}`;
6472
6492
  let n = e.getAttribute("data-testid");
6473
6493
  if (n) return `[data-testid=${JSON.stringify(n)}]`;
6474
6494
  let r = [], i = e;
@@ -6482,17 +6502,17 @@ function Ec(e) {
6482
6502
  }
6483
6503
  return r.join(" > ");
6484
6504
  }
6485
- function Dc(e, t, n = `dom-inspection-${++wc}`) {
6505
+ function kc(e, t, n = `dom-inspection-${++Ec}`) {
6486
6506
  let r = e.getBoundingClientRect(), i = t.getComputedStyle(e), a = {
6487
- top: Cc(i.paddingTop),
6488
- right: Cc(i.paddingRight),
6489
- bottom: Cc(i.paddingBottom),
6490
- left: Cc(i.paddingLeft)
6507
+ top: Tc(i.paddingTop),
6508
+ right: Tc(i.paddingRight),
6509
+ bottom: Tc(i.paddingBottom),
6510
+ left: Tc(i.paddingLeft)
6491
6511
  }, o = {
6492
- top: Cc(i.marginTop),
6493
- right: Cc(i.marginRight),
6494
- bottom: Cc(i.marginBottom),
6495
- left: Cc(i.marginLeft)
6512
+ top: Tc(i.marginTop),
6513
+ right: Tc(i.marginRight),
6514
+ bottom: Tc(i.marginBottom),
6515
+ left: Tc(i.marginLeft)
6496
6516
  }, s = {
6497
6517
  left: r.left + a.left,
6498
6518
  top: r.top + a.top,
@@ -6520,8 +6540,8 @@ function Dc(e, t, n = `dom-inspection-${++wc}`) {
6520
6540
  elementRef: e
6521
6541
  };
6522
6542
  }
6523
- function Oc(e) {
6524
- let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? Dc(r, t) : null, o = (e) => {
6543
+ function Ac(e) {
6544
+ let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? kc(r, t) : null, o = (e) => {
6525
6545
  let t = Number.parseFloat(e);
6526
6546
  return Number.isFinite(t) ? t : 0;
6527
6547
  }, s = (e) => ({
@@ -6531,7 +6551,7 @@ function Oc(e) {
6531
6551
  left: o(n.getPropertyValue(`${e}-left${e === "border" ? "-width" : ""}`))
6532
6552
  });
6533
6553
  return {
6534
- selector: Ec(e),
6554
+ selector: Oc(e),
6535
6555
  tag: e.localName,
6536
6556
  id: e.id || null,
6537
6557
  classes: [...e.classList],
@@ -6593,17 +6613,17 @@ function Oc(e) {
6593
6613
  }
6594
6614
  //#endregion
6595
6615
  //#region src/context.ts
6596
- var kc = 10, Ac = (e) => ({
6616
+ var jc = 10, Mc = (e) => ({
6597
6617
  left: e.left,
6598
6618
  top: e.top,
6599
6619
  width: e.width,
6600
6620
  height: e.height
6601
- }), jc = (e) => {
6621
+ }), Nc = (e) => {
6602
6622
  let t = /* @__PURE__ */ new Set(), n = [];
6603
6623
  for (let r of e) !r?.isConnected || t.has(r) || (t.add(r), n.push(r));
6604
6624
  return n;
6605
- }, Mc = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
6606
- function Nc(e) {
6625
+ }, Pc = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
6626
+ function Fc(e) {
6607
6627
  let { runtime: t, ownerDocument: n, ownerWindow: r } = e, i = e.request ?? { scope: "workspace" }, a = t.snapshot();
6608
6628
  if (!a) throw Error("Mesurer workspace is not ready yet.");
6609
6629
  let o = [], s = [], c = { kind: "workspace" }, l = /* @__PURE__ */ new Map();
@@ -6611,7 +6631,7 @@ function Nc(e) {
6611
6631
  let e = t.annotation(i.annotation);
6612
6632
  if (!e) throw Error(`Mesurer annotation not found: ${i.annotation}`);
6613
6633
  for (let t of e.resolvedTargets) t.element?.isConnected && l.set(t.element, t.target.id);
6614
- o = jc(e.resolvedTargets.map((e) => e.element));
6634
+ o = Nc(e.resolvedTargets.map((e) => e.element));
6615
6635
  let n = t.annotationRect(e.id);
6616
6636
  n && (s = [n]);
6617
6637
  let r = e.resolvedTargets.length, a = e.resolvedTargets.filter((e) => e.element?.isConnected).length, u = e.anchor.kind === "region" ? "connected" : r === 0 || a === 0 ? "stale" : a === r ? "connected" : "partial";
@@ -6623,15 +6643,15 @@ function Nc(e) {
6623
6643
  };
6624
6644
  } else if (i.scope === "selection") {
6625
6645
  let e = t.currentSelection();
6626
- if (o = jc(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
6627
- s = e.region ? [e.region] : o.map((e) => Ac(e.getBoundingClientRect())), c = { kind: "selection" };
6628
- } else o = jc([
6646
+ if (o = Nc(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
6647
+ s = e.region ? [e.region] : o.map((e) => Mc(e.getBoundingClientRect())), c = { kind: "selection" };
6648
+ } else o = Nc([
6629
6649
  ...t.currentSelection().elements,
6630
6650
  ...a.measurements.map((e) => e.elementRef),
6631
6651
  a.activeMeasurement?.elementRef,
6632
6652
  ...a.heldDistances.flatMap((e) => [e.elementRefA, e.elementRefB])
6633
6653
  ]);
6634
- let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) => Ac(e.getBoundingClientRect())), d = bc({
6654
+ let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) => Mc(e.getBoundingClientRect())), d = Sc({
6635
6655
  workspace: {
6636
6656
  guides: a.guides,
6637
6657
  measurements: a.measurements,
@@ -6643,8 +6663,8 @@ function Nc(e) {
6643
6663
  elements: o,
6644
6664
  regions: u
6645
6665
  },
6646
- guideTolerance: a.guideRelevanceTolerance ?? kc
6647
- }), f = d.measurements, p = d.distances, m = d.guides, h = jc([
6666
+ guideTolerance: a.guideRelevanceTolerance ?? jc
6667
+ }), f = d.measurements, p = d.distances, m = d.guides, h = Nc([
6648
6668
  ...o,
6649
6669
  ...f.map((e) => e.elementRef),
6650
6670
  ...p.flatMap((e) => [e.elementRefA, e.elementRefB])
@@ -6656,12 +6676,12 @@ function Nc(e) {
6656
6676
  let t = l.get(e) ?? y();
6657
6677
  return g.set(e, t), {
6658
6678
  ref: t,
6659
- inspection: Oc(e)
6679
+ inspection: Ac(e)
6660
6680
  };
6661
6681
  }), x = f.map((e) => {
6662
6682
  let t = {
6663
6683
  id: e.id,
6664
- rect: Ac(e.rect),
6684
+ rect: Mc(e.rect),
6665
6685
  deltaX: e.deltaX,
6666
6686
  deltaY: e.deltaY
6667
6687
  };
@@ -6671,8 +6691,8 @@ function Nc(e) {
6671
6691
  }), S = p.map((e) => {
6672
6692
  let t = {
6673
6693
  id: e.id,
6674
- rectA: Ac(e.rectA),
6675
- rectB: Ac(e.rectB),
6694
+ rectA: Mc(e.rectA),
6695
+ rectB: Mc(e.rectB),
6676
6696
  horizontal: e.horizontal ? { ...e.horizontal } : null,
6677
6697
  vertical: e.vertical ? { ...e.vertical } : null
6678
6698
  }, n = e.elementRefA ? g.get(e.elementRefA) : void 0, r = e.elementRefB ? g.get(e.elementRefB) : void 0;
@@ -6680,7 +6700,7 @@ function Nc(e) {
6680
6700
  });
6681
6701
  return {
6682
6702
  schema: "mesurer.context/v1",
6683
- id: Mc(r),
6703
+ id: Pc(r),
6684
6704
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
6685
6705
  scope: c,
6686
6706
  page: {
@@ -6695,7 +6715,7 @@ function Nc(e) {
6695
6715
  scrollY: r.scrollY
6696
6716
  },
6697
6717
  coordinateSpace: "viewport-css-px",
6698
- regions: c.kind === "workspace" ? [] : s.map(Ac),
6718
+ regions: c.kind === "workspace" ? [] : s.map(Mc),
6699
6719
  visualState: {
6700
6720
  rulersVisible: a.rulersVisible,
6701
6721
  xrayVisible: a.xrayVisible
@@ -6709,19 +6729,19 @@ function Nc(e) {
6709
6729
  }
6710
6730
  };
6711
6731
  }
6712
- var $ = (e) => `${Math.round(e * 100) / 100}px`, Pc = (e) => `x=${$(e.left)} y=${$(e.top)} w=${$(e.width)} h=${$(e.height)}`;
6713
- function Fc(e) {
6732
+ var $ = (e) => `${Math.round(e * 100) / 100}px`, Ic = (e) => `x=${$(e.left)} y=${$(e.top)} w=${$(e.width)} h=${$(e.height)}`;
6733
+ function Lc(e) {
6714
6734
  let t = [
6715
6735
  "Mesurer visual context",
6716
6736
  "",
6717
6737
  `Page: ${e.page.url}`,
6718
6738
  `Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`
6719
6739
  ];
6720
- if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${Pc(e)}`))), (e.visualState.rulersVisible || e.visualState.xrayVisible) && t.push("", `Visual state: rulers=${e.visualState.rulersVisible ? "on" : "off"}; x-ray=${e.visualState.xrayVisible ? "on" : "off"}`), e.targets.length) {
6740
+ if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${Ic(e)}`))), (e.visualState.rulersVisible || e.visualState.xrayVisible) && t.push("", `Visual state: rulers=${e.visualState.rulersVisible ? "on" : "off"}; x-ray=${e.visualState.xrayVisible ? "on" : "off"}`), e.targets.length) {
6721
6741
  t.push("", "Targets");
6722
6742
  for (let n of e.targets) {
6723
6743
  let e = n.inspection;
6724
- t.push(`[${n.ref}] ${e.selector}`, ` rect: ${Pc(e.rect)}`, ` margin: ${$(e.margin.top)} ${$(e.margin.right)} ${$(e.margin.bottom)} ${$(e.margin.left)}`, ` padding: ${$(e.padding.top)} ${$(e.padding.right)} ${$(e.padding.bottom)} ${$(e.padding.left)}`, ` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`, ` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`), e.text && t.push(` text: ${JSON.stringify(e.text)}`);
6744
+ t.push(`[${n.ref}] ${e.selector}`, ` rect: ${Ic(e.rect)}`, ` margin: ${$(e.margin.top)} ${$(e.margin.right)} ${$(e.margin.bottom)} ${$(e.margin.left)}`, ` padding: ${$(e.padding.top)} ${$(e.padding.right)} ${$(e.padding.bottom)} ${$(e.padding.left)}`, ` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`, ` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`), e.text && t.push(` text: ${JSON.stringify(e.text)}`);
6725
6745
  }
6726
6746
  }
6727
6747
  if (e.visualContext.guides.length) {
@@ -6738,7 +6758,7 @@ function Fc(e) {
6738
6758
  }
6739
6759
  if (e.visualContext.measurements.length) {
6740
6760
  t.push("", "Relevant measurements");
6741
- for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${Pc(n.rect)}; delta=${$(n.deltaX)} × ${$(n.deltaY)}`);
6761
+ for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${Ic(n.rect)}; delta=${$(n.deltaX)} × ${$(n.deltaY)}`);
6742
6762
  }
6743
6763
  if (e.visualContext.distances.length) {
6744
6764
  t.push("", "Relevant distances");
@@ -6749,8 +6769,8 @@ function Fc(e) {
6749
6769
  }
6750
6770
  return t.join("\n").trimEnd();
6751
6771
  }
6752
- function Ic(e) {
6753
- let t = _c([
6772
+ function Rc(e) {
6773
+ let t = yc([
6754
6774
  ...e.regions,
6755
6775
  ...e.targets.map((e) => e.inspection.rect),
6756
6776
  ...e.visualContext.measurements.map((e) => e.rect),
@@ -6780,7 +6800,7 @@ function Ic(e) {
6780
6800
  captures: n
6781
6801
  };
6782
6802
  }
6783
- var Lc = (e, t, n, r, i) => {
6803
+ var zc = (e, t, n, r, i) => {
6784
6804
  !Number.isFinite(r) || !Number.isFinite(i) || Math.abs(r - i) < .01 || e.push({
6785
6805
  kind: t,
6786
6806
  label: n,
@@ -6789,16 +6809,16 @@ var Lc = (e, t, n, r, i) => {
6789
6809
  delta: i - r,
6790
6810
  unit: "px"
6791
6811
  });
6792
- }, Rc = (e, t, n, r) => e.push({
6812
+ }, Bc = (e, t, n, r) => e.push({
6793
6813
  kind: "missing",
6794
6814
  evidence: t,
6795
6815
  id: n,
6796
6816
  label: r
6797
- }), zc = (e, t) => Math.abs(e.left - t.left) < .01 && Math.abs(e.top - t.top) < .01 && Math.abs(e.width - t.width) < .01 && Math.abs(e.height - t.height) < .01;
6798
- function Bc(e) {
6817
+ }), Vc = (e, t) => Math.abs(e.left - t.left) < .01 && Math.abs(e.top - t.top) < .01 && Math.abs(e.width - t.width) < .01 && Math.abs(e.height - t.height) < .01;
6818
+ function Hc(e) {
6799
6819
  let t = e.runtime.annotation(e.annotationId);
6800
6820
  if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
6801
- let n = Nc({
6821
+ let n = Fc({
6802
6822
  runtime: e.runtime,
6803
6823
  ownerDocument: e.ownerDocument,
6804
6824
  ownerWindow: e.ownerWindow,
@@ -6808,42 +6828,42 @@ function Bc(e) {
6808
6828
  if (n.scope.kind !== "annotation") throw Error("Mesurer annotation context invariant failed.");
6809
6829
  let r = e.runtime.snapshot();
6810
6830
  if (!r) throw Error("Mesurer workspace is not ready yet.");
6811
- let i = yc({
6831
+ let i = xc({
6812
6832
  measurements: r.measurements,
6813
6833
  activeMeasurement: r.activeMeasurement
6814
6834
  }), a = [];
6815
6835
  for (let e of t.baseline.targets) {
6816
6836
  let t = n.targets.find((t) => t.ref === e.id);
6817
6837
  if (!t) {
6818
- Rc(a, "target", e.id, e.selector);
6838
+ Bc(a, "target", e.id, e.selector);
6819
6839
  continue;
6820
6840
  }
6821
- Lc(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), Lc(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), Lc(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), Lc(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
6841
+ zc(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), zc(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), zc(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), zc(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
6822
6842
  }
6823
6843
  for (let e of t.baseline.guides) {
6824
6844
  let t = n.visualContext.guides.find((t) => t.id === e.id) ?? r.guides.find((t) => t.id === e.id);
6825
6845
  if (!t) {
6826
- Rc(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
6846
+ Bc(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
6827
6847
  continue;
6828
6848
  }
6829
- Lc(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
6849
+ zc(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
6830
6850
  }
6831
6851
  for (let e of t.baseline.measurements) {
6832
6852
  let r = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
6833
6853
  if (!r) {
6834
- let r = t.baseline.targets.find((t) => zc(t.rect, e.rect));
6835
- r && n.targets.some((e) => e.ref === r.id) || Rc(a, "measurement", e.id, e.id);
6854
+ let r = t.baseline.targets.find((t) => Vc(t.rect, e.rect));
6855
+ r && n.targets.some((e) => e.ref === r.id) || Bc(a, "measurement", e.id, e.id);
6836
6856
  continue;
6837
6857
  }
6838
- Lc(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), Lc(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
6858
+ zc(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), zc(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
6839
6859
  }
6840
6860
  for (let e of t.baseline.distances) {
6841
6861
  let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
6842
6862
  if (!t) {
6843
- Rc(a, "distance", e.id, e.id);
6863
+ Bc(a, "distance", e.id, e.id);
6844
6864
  continue;
6845
6865
  }
6846
- e.horizontal && t.horizontal ? Lc(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && Rc(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? Lc(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && Rc(a, "distance", e.id, `${e.id} vertical`);
6866
+ e.horizontal && t.horizontal ? zc(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && Bc(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? zc(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && Bc(a, "distance", e.id, `${e.id} vertical`);
6847
6867
  }
6848
6868
  return {
6849
6869
  schema: "mesurer.review/v1",
@@ -6855,7 +6875,7 @@ function Bc(e) {
6855
6875
  changes: a
6856
6876
  };
6857
6877
  }
6858
- async function Vc(e, t, n) {
6878
+ async function Uc(e, t, n) {
6859
6879
  try {
6860
6880
  if (t.navigator.clipboard?.writeText) {
6861
6881
  await t.navigator.clipboard.writeText(n);
@@ -6869,43 +6889,43 @@ async function Vc(e, t, n) {
6869
6889
  }
6870
6890
  //#endregion
6871
6891
  //#region src/layout-guides.ts
6872
- var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
6873
- ...As(),
6874
- version: lc
6875
- }), qc = "mesurer.context", Jc = "context:v1", Yc = "mesurer.context.settings", Xc = "context.ui", Zc = "data-mesurer-direct-text-edit-active", Qc = {
6892
+ var Wc = as, Gc = os, Kc = ss, qc = cs, Jc = () => ({
6893
+ ...Ms(),
6894
+ version: dc
6895
+ }), Yc = "mesurer.context", Xc = "context:v1", Zc = "mesurer.context.settings", Qc = "context.ui", $c = "data-mesurer-direct-text-edit-active", el = {
6876
6896
  viewBox: "0 0 256 256",
6877
6897
  paths: ["M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"]
6878
- }, $c = {
6898
+ }, tl = {
6879
6899
  viewBox: "0 0 256 256",
6880
6900
  paths: ["M152,40a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16h32A8,8,0,0,1,152,40Zm-8,168H112a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16ZM208,32H184a8,8,0,0,0,0,16h24V72a8,8,0,0,0,16,0V48A16,16,0,0,0,208,32Zm8,72a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V112A8,8,0,0,0,216,104Zm0,72a8,8,0,0,0-8,8v24H184a8,8,0,0,0,0,16h24a16,16,0,0,0,16-16V184A8,8,0,0,0,216,176ZM40,152a8,8,0,0,0,8-8V112a8,8,0,0,0-16,0v32A8,8,0,0,0,40,152Zm32,56H48V184a8,8,0,0,0-16,0v24a16,16,0,0,0,16,16H72a8,8,0,0,0,0-16ZM72,32H48A16,16,0,0,0,32,48V72a8,8,0,0,0,16,0V48H72a8,8,0,0,0,0-16Z"]
6881
- }, el = {
6901
+ }, nl = {
6882
6902
  viewBox: "0 0 256 256",
6883
6903
  paths: ["M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z"]
6884
- }, tl = async (e, t, n = 1) => {
6904
+ }, rl = async (e, t, n = 1) => {
6885
6905
  await e.fonts?.ready;
6886
6906
  for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
6887
- }, nl = (e, t, n, r) => {
6888
- let i = async (i) => Nc({
6907
+ }, il = (e, t, n, r) => {
6908
+ let i = async (i) => Fc({
6889
6909
  runtime: e,
6890
6910
  ownerDocument: t,
6891
6911
  ownerWindow: n,
6892
6912
  request: i,
6893
6913
  layoutGuides: r()
6894
- }), a = async (e) => Fc(await i(e));
6914
+ }), a = async (e) => Lc(await i(e));
6895
6915
  return {
6896
6916
  context: i,
6897
6917
  contextText: a,
6898
- copyContext: async (e) => Vc(t, n, await a(e)),
6918
+ copyContext: async (e) => Uc(t, n, await a(e)),
6899
6919
  select: async (r) => {
6900
6920
  let a = Array.isArray(r) ? [...r] : [String(r)];
6901
- return e.select(a), await tl(t, n), i({ scope: "selection" });
6921
+ return e.select(a), await rl(t, n), i({ scope: "selection" });
6902
6922
  },
6903
6923
  annotations: async () => e.annotations(),
6904
6924
  removeAnnotation: async (r) => {
6905
- e.removeAnnotation(r), await tl(t, n);
6925
+ e.removeAnnotation(r), await rl(t, n);
6906
6926
  },
6907
6927
  review: async (i) => {
6908
- if (await tl(t, n), i) return Bc({
6928
+ if (await rl(t, n), i) return Hc({
6909
6929
  runtime: e,
6910
6930
  ownerDocument: t,
6911
6931
  ownerWindow: n,
@@ -6913,7 +6933,7 @@ var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
6913
6933
  layoutGuides: r()
6914
6934
  });
6915
6935
  let a = r();
6916
- return e.annotations().map((r) => Bc({
6936
+ return e.annotations().map((r) => Hc({
6917
6937
  runtime: e,
6918
6938
  ownerDocument: t,
6919
6939
  ownerWindow: n,
@@ -6921,38 +6941,38 @@ var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
6921
6941
  layoutGuides: a
6922
6942
  }));
6923
6943
  },
6924
- capturePlan: async (e) => Ic(await i(e)),
6944
+ capturePlan: async (e) => Rc(await i(e)),
6925
6945
  prepareCapture: async () => {
6926
- e.prepareCapture(), await tl(t, n);
6946
+ e.prepareCapture(), await rl(t, n);
6927
6947
  },
6928
6948
  finishCapture: async () => {
6929
- e.finishCapture(), await tl(t, n);
6949
+ e.finishCapture(), await rl(t, n);
6930
6950
  }
6931
6951
  };
6932
- }, rl = (e) => {
6952
+ }, al = (e) => {
6933
6953
  let t = e.currentSelection();
6934
6954
  return t.elements.length > 0 || t.region !== null;
6935
6955
  };
6936
- function il(e = {}) {
6956
+ function ol(e = {}) {
6937
6957
  return {
6938
- id: qc,
6939
- version: lc,
6958
+ id: Yc,
6959
+ version: dc,
6940
6960
  requires: ["runtime:solid"],
6941
- provides: [Jc],
6961
+ provides: [Xc],
6942
6962
  setup(t) {
6943
6963
  let n = t.service.get("runtime:solid");
6944
6964
  if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
6945
- let r = n.createWorkspaceRuntime(qc), i = nl(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Uc)?.list() ?? []);
6946
- t.service.provide(Jc, i), t.state.register({
6947
- id: Yc,
6965
+ let r = n.createWorkspaceRuntime(Yc), i = il(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Gc)?.list() ?? []);
6966
+ t.service.provide(Xc, i), t.state.register({
6967
+ id: Zc,
6948
6968
  initial: { ui: e.ui ?? !0 },
6949
6969
  persist: !0
6950
6970
  }), t.state.register({
6951
- id: Xc,
6952
- initial: { hasSelection: rl(r) }
6971
+ id: Qc,
6972
+ initial: { hasSelection: al(r) }
6953
6973
  });
6954
- let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(Xc)?.hasSelection === !0, s = (e) => {
6955
- t.state.update(Yc, (t) => ({
6974
+ let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(Qc)?.hasSelection === !0, s = (e) => {
6975
+ t.state.update(Zc, (t) => ({
6956
6976
  ...t,
6957
6977
  ui: e
6958
6978
  }));
@@ -6966,21 +6986,21 @@ function il(e = {}) {
6966
6986
  region: e.region ? { ...e.region } : null
6967
6987
  }, r.selectGestureActive() ? c?.abandonNoteComposer() : n && c?.closeNoteComposer();
6968
6988
  let i = e.elements.length > 0 || e.region !== null;
6969
- i !== (t.state.get(Xc)?.hasSelection ?? !1) && t.state.update(Xc, () => ({ hasSelection: i }));
6989
+ i !== (t.state.get(Qc)?.hasSelection ?? !1) && t.state.update(Qc, () => ({ hasSelection: i }));
6970
6990
  });
6971
6991
  t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
6972
6992
  let g = () => {
6973
6993
  let e = u?.element;
6974
- e && (n.rendererRoot?.hasAttribute(Zc) ? e.setAttribute(Zc, "true") : e.removeAttribute(Zc));
6994
+ e && (n.rendererRoot?.hasAttribute($c) ? e.setAttribute($c, "true") : e.removeAttribute($c));
6975
6995
  }, _ = () => {
6976
6996
  d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
6977
6997
  }, v = () => {
6978
6998
  if (u) return;
6979
- if (u = No(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
6999
+ if (u = Fo(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
6980
7000
  let e = new n.ownerWindow.MutationObserver(g);
6981
7001
  d = e, e.observe(n.rendererRoot, {
6982
7002
  attributes: !0,
6983
- attributeFilter: [Zc]
7003
+ attributeFilter: [$c]
6984
7004
  }), g();
6985
7005
  }
6986
7006
  let e = {
@@ -6991,7 +7011,7 @@ function il(e = {}) {
6991
7011
  },
6992
7012
  coordinateSpace: "document"
6993
7013
  };
6994
- l = Dn(() => qt(ko, En(e, { get ownerWindow() {
7014
+ l = Dn(() => qt(jo, En(e, { get ownerWindow() {
6995
7015
  return n.ownerWindow;
6996
7016
  } })), u.element);
6997
7017
  }, y = () => {
@@ -7003,7 +7023,7 @@ function il(e = {}) {
7003
7023
  shortcut: "C",
7004
7024
  command: "context.copy",
7005
7025
  order: 70,
7006
- icon: Qc,
7026
+ icon: el,
7007
7027
  hidden: () => !a()
7008
7028
  }), t.tool.register({
7009
7029
  id: "context.copy-selection",
@@ -7011,7 +7031,7 @@ function il(e = {}) {
7011
7031
  shortcut: "Shift+C",
7012
7032
  command: "context.copy-selection",
7013
7033
  order: 71,
7014
- icon: $c,
7034
+ icon: tl,
7015
7035
  hidden: () => !a(),
7016
7036
  disabled: () => !o()
7017
7037
  }), t.tool.register({
@@ -7020,7 +7040,7 @@ function il(e = {}) {
7020
7040
  shortcut: "N",
7021
7041
  command: "context.add-note",
7022
7042
  order: 72,
7023
- icon: el,
7043
+ icon: nl,
7024
7044
  hidden: () => !a(),
7025
7045
  disabled: () => !o()
7026
7046
  }), t.settings.register({
@@ -7043,28 +7063,28 @@ function il(e = {}) {
7043
7063
  }
7044
7064
  //#endregion
7045
7065
  //#region src/codex-plugin.ts
7046
- var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2e3, ll = 750, ul = 1800, dl = 2e3, fl = 12e4, pl = 10, ml = 5, hl = [
7066
+ var sl = "mesurer.codex", cl = "codex:v1", ll = "http://127.0.0.1:47365", ul = 2e3, dl = 750, fl = 1800, pl = 2e3, ml = 12e4, hl = 10, gl = 5, _l = [
7047
7067
  "Implement the current human feedback from Mesurer in this project.",
7048
7068
  "Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
7049
7069
  "and verify the affected UI in the live page with Mesurer before claiming completion."
7050
- ].join(" "), gl = {
7070
+ ].join(" "), vl = {
7051
7071
  viewBox: "0 0 256 256",
7052
7072
  paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
7053
- }, _l = {
7073
+ }, yl = {
7054
7074
  viewBox: "0 0 256 256",
7055
7075
  paths: ["M72,32H184a8,8,0,0,1,0,16h-8v20.69a40,40,0,0,1-11.72,28.28L137.25,124l27.03,27.03A40,40,0,0,1,176,179.31V208h8a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16h8V179.31a40,40,0,0,1,11.72-28.28L118.75,124,91.72,96.97A40,40,0,0,1,80,68.69V48H72a8,8,0,0,1,0-16Zm24,16V68.69a24,24,0,0,0,7.03,16.97L128,110.63l24.97-24.97A24,24,0,0,0,160,68.69V48Zm32,90.63-24.97,24.97A24,24,0,0,0,96,180.57V208h64V180.57a24,24,0,0,0-7.03-16.97Z"]
7056
- }, vl = {
7076
+ }, bl = {
7057
7077
  viewBox: "0 0 256 256",
7058
7078
  paths: ["M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"]
7059
- }, yl = (e) => {
7079
+ }, xl = (e) => {
7060
7080
  try {
7061
7081
  let t = globalThis.location;
7062
7082
  return t?.origin ? `mesurer-codex-ui:v1:${e}:${t.origin}${t.pathname}` : null;
7063
7083
  } catch {
7064
7084
  return null;
7065
7085
  }
7066
- }, bl = (e) => {
7067
- let t = yl(e);
7086
+ }, Sl = (e) => {
7087
+ let t = xl(e);
7068
7088
  if (!t) return null;
7069
7089
  try {
7070
7090
  let e = globalThis.sessionStorage?.getItem(t);
@@ -7089,18 +7109,18 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7089
7109
  } catch {
7090
7110
  return null;
7091
7111
  }
7092
- }, xl = (e, t) => {
7093
- let n = yl(e);
7112
+ }, Cl = (e, t) => {
7113
+ let n = xl(e);
7094
7114
  if (n) try {
7095
7115
  globalThis.sessionStorage?.setItem(n, JSON.stringify(t));
7096
7116
  } catch {}
7097
- }, Sl = (e, t) => {
7117
+ }, wl = (e, t) => {
7098
7118
  let n = e.endsWith("/") ? e : `${e}/`;
7099
7119
  return new URL(t, n).toString();
7100
- }, Cl = async (e, t, n) => {
7120
+ }, Tl = async (e, t, n) => {
7101
7121
  let r = new AbortController(), i = setTimeout(() => r.abort(), 15e3);
7102
7122
  try {
7103
- let i = await fetch(Sl(e, t), {
7123
+ let i = await fetch(wl(e, t), {
7104
7124
  ...n,
7105
7125
  signal: r.signal
7106
7126
  }), a = await i.text(), o = {};
@@ -7116,10 +7136,10 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7116
7136
  } finally {
7117
7137
  clearTimeout(i);
7118
7138
  }
7119
- }, wl = (e) => ({
7139
+ }, El = (e) => ({
7120
7140
  thread: e.thread?.trim() || null,
7121
7141
  threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
7122
- }), Tl = (e) => {
7142
+ }), Dl = (e) => {
7123
7143
  let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
7124
7144
  if (!t || !n || !r) throw Error("Mesurer Codex bridge returned an invalid delivery state.");
7125
7145
  let i = {
@@ -7131,7 +7151,7 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7131
7151
  updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
7132
7152
  };
7133
7153
  return e.queuedSubmissionId !== void 0 && (i.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (i.dispatch = e.dispatch), e.dispatchError !== void 0 && (i.dispatchError = e.dispatchError?.trim() || null), i;
7134
- }, El = (e) => ({
7154
+ }, Ol = (e) => ({
7135
7155
  thread: e.thread?.trim() || null,
7136
7156
  threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
7137
7157
  let t = e.id?.trim() ?? "";
@@ -7143,7 +7163,7 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7143
7163
  }] : [];
7144
7164
  }) : [],
7145
7165
  hasMore: e.hasMore === !0
7146
- }), Dl = async (e, t, n) => {
7166
+ }), kl = async (e, t, n) => {
7147
7167
  let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
7148
7168
  let t = i.find((t) => t.id === e);
7149
7169
  return t ? [t] : [];
@@ -7166,18 +7186,18 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7166
7186
  ])
7167
7187
  ].join("\n").trimEnd()
7168
7188
  };
7169
- }, Ol = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, kl = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Al = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
7170
- function jl(e = {}) {
7171
- let t = e.endpoint ?? sl, n = e.instruction?.trim() || hl, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
7189
+ }, Al = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, jl = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Ml = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
7190
+ function Nl(e = {}) {
7191
+ let t = e.endpoint ?? ll, n = e.instruction?.trim() || _l, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
7172
7192
  return {
7173
- id: al,
7174
- version: lc,
7175
- requires: [Jc],
7176
- provides: [ol],
7193
+ id: sl,
7194
+ version: dc,
7195
+ requires: [Xc],
7196
+ provides: [cl],
7177
7197
  setup(e) {
7178
- let a = e.service.get(Jc);
7198
+ let a = e.service.get(Xc);
7179
7199
  if (!a) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
7180
- let o = r ? bl(t) : null, s = "unknown", c = !1, l = o?.originThread ?? null, u = o?.selectedThread ?? o?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = ml, _, v = "", y = null, b = o?.delivery ? {
7200
+ let o = r ? Sl(t) : null, s = "unknown", c = !1, l = o?.originThread ?? null, u = o?.selectedThread ?? o?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = gl, _, v = "", y = null, b = o?.delivery ? {
7181
7201
  id: o.delivery.id,
7182
7202
  thread: o.delivery.thread,
7183
7203
  status: o.delivery.status,
@@ -7185,22 +7205,22 @@ function jl(e = {}) {
7185
7205
  queuedSubmissionId: o.delivery.queuedSubmissionId ?? null,
7186
7206
  dispatch: o.delivery.dispatch ?? null,
7187
7207
  dispatchError: o.delivery.dispatchError ?? null
7188
- } : null, x = 0, S = 0, C = null, w = !1, T = async () => wl(await Cl(t, "health")), E = async (e) => Tl(await Cl(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
7208
+ } : null, x = 0, S = 0, C = null, w = !1, T = async () => El(await Tl(t, "health")), E = async (e) => Dl(await Tl(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
7189
7209
  if (!e.id || !e.thread) throw Error("Cannot restore a Codex delivery without its id and thread.");
7190
7210
  let n = {
7191
7211
  deliveryId: e.id,
7192
7212
  thread: e.thread
7193
7213
  };
7194
- return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Tl(await Cl(t, "deliveries/restore", {
7214
+ return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Dl(await Tl(t, "deliveries/restore", {
7195
7215
  method: "POST",
7196
7216
  headers: { "Content-Type": "application/json" },
7197
7217
  body: JSON.stringify(n)
7198
7218
  }));
7199
7219
  }, O = async (e = {}) => {
7200
7220
  let n = new URLSearchParams();
7201
- n.set("limit", String(e.limit ?? pl));
7221
+ n.set("limit", String(e.limit ?? hl));
7202
7222
  let r = e.thread?.trim();
7203
- return r && n.set("thread", r), El(await Cl(t, `threads?${n.toString()}`));
7223
+ return r && n.set("thread", r), Ol(await Tl(t, `threads?${n.toString()}`));
7204
7224
  }, k = () => u ?? l ?? (d ? null : f), A = () => {
7205
7225
  if (!r) return;
7206
7226
  let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
@@ -7212,7 +7232,7 @@ function jl(e = {}) {
7212
7232
  dispatch: b.dispatch,
7213
7233
  dispatchError: b.dispatchError
7214
7234
  } : null;
7215
- xl(t, {
7235
+ Cl(t, {
7216
7236
  version: 1,
7217
7237
  originThread: l,
7218
7238
  selectedThread: u,
@@ -7230,12 +7250,12 @@ function jl(e = {}) {
7230
7250
  "queueing",
7231
7251
  "queued",
7232
7252
  "working"
7233
- ].includes(b.status) ? _l : b.status === "completed" ? vl : gl : gl, te = () => {
7253
+ ].includes(b.status) ? yl : b.status === "completed" ? bl : vl : vl, te = () => {
7234
7254
  let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
7235
7255
  t.has(n.id) || (t.add(n.id), e.push(n));
7236
7256
  }, r = (e) => ({
7237
7257
  id: e,
7238
- title: `Codex ${Ol(e)}`,
7258
+ title: `Codex ${Al(e)}`,
7239
7259
  updatedAt: null,
7240
7260
  connected: !0
7241
7261
  });
@@ -7255,7 +7275,7 @@ function jl(e = {}) {
7255
7275
  let t = e.id === l ? "Current · " : e.connected ? "Connected · " : "", r = b?.thread === e.id ? ` · ${ee() ? "Blocked" : N(b.status)}` : "";
7256
7276
  return {
7257
7277
  id: `codex.thread.${e.id}`,
7258
- label: `${t}${kl(e.title)}${r}`,
7278
+ label: `${t}${jl(e.title)}${r}`,
7259
7279
  checked: () => n === e.id,
7260
7280
  disabled: () => M(),
7261
7281
  run() {
@@ -7263,11 +7283,11 @@ function jl(e = {}) {
7263
7283
  }
7264
7284
  };
7265
7285
  });
7266
- return g < pl && (e.length > g || h) && r.push({
7286
+ return g < hl && (e.length > g || h) && r.push({
7267
7287
  id: "codex.thread.show-more",
7268
7288
  label: "Show 5 more…",
7269
7289
  run() {
7270
- g = pl, R();
7290
+ g = hl, R();
7271
7291
  }
7272
7292
  }), r;
7273
7293
  }, R = () => {
@@ -7303,14 +7323,14 @@ function jl(e = {}) {
7303
7323
  let e = l && p.includes(l) ? l : f;
7304
7324
  try {
7305
7325
  let t = await O({
7306
- limit: pl,
7326
+ limit: hl,
7307
7327
  thread: e ?? void 0
7308
7328
  });
7309
7329
  m = t.threads, h = t.hasMore;
7310
7330
  } catch {
7311
7331
  m = p.map((e) => ({
7312
7332
  id: e,
7313
- title: `Codex ${Ol(e)}`,
7333
+ title: `Codex ${Al(e)}`,
7314
7334
  updatedAt: null,
7315
7335
  connected: !0
7316
7336
  })), h = !1;
@@ -7333,7 +7353,7 @@ function jl(e = {}) {
7333
7353
  }, V = () => {
7334
7354
  S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
7335
7355
  S = 0, b?.status === "completed" && (b = null, A(), R());
7336
- }, ul);
7356
+ }, fl);
7337
7357
  }, ne = async (e) => {
7338
7358
  if (!(!b || b.id !== e.id)) {
7339
7359
  if (b = {
@@ -7351,14 +7371,14 @@ function jl(e = {}) {
7351
7371
  if (e.status === "interrupted") {
7352
7372
  A(), R();
7353
7373
  let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
7354
- Date.now() - t < fl && (x = globalThis.setTimeout(() => {
7374
+ Date.now() - t < ml && (x = globalThis.setTimeout(() => {
7355
7375
  x = 0, re(e.id);
7356
- }, dl));
7376
+ }, pl));
7357
7377
  return;
7358
7378
  }
7359
7379
  R(), x = globalThis.setTimeout(() => {
7360
7380
  x = 0, re(e.id);
7361
- }, ll);
7381
+ }, dl);
7362
7382
  }
7363
7383
  }, re = async (e) => {
7364
7384
  if (!(w || b?.id !== e)) try {
@@ -7382,7 +7402,7 @@ function jl(e = {}) {
7382
7402
  b = {
7383
7403
  ...b,
7384
7404
  status: "failed"
7385
- }, A(), Al(r, t) && (s = "unavailable"), R();
7405
+ }, A(), Ml(r, t) && (s = "unavailable"), R();
7386
7406
  }
7387
7407
  }, H = {
7388
7408
  health: T,
@@ -7391,7 +7411,7 @@ function jl(e = {}) {
7391
7411
  async useThread(e) {
7392
7412
  let n = e.trim();
7393
7413
  if (!n) throw Error("Codex thread must be a non-empty string.");
7394
- let r = wl(await Cl(t, "target", {
7414
+ let r = El(await Tl(t, "target", {
7395
7415
  method: "POST",
7396
7416
  headers: { "Content-Type": "application/json" },
7397
7417
  body: JSON.stringify({ thread: n })
@@ -7399,12 +7419,12 @@ function jl(e = {}) {
7399
7419
  return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, R(), r;
7400
7420
  },
7401
7421
  async queue(e) {
7402
- let i = await Dl(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
7422
+ let i = await kl(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
7403
7423
  if (r && !o && (d || !c)) throw Error("Choose a Codex thread before queueing feedback.");
7404
7424
  let l = { message: i.message };
7405
7425
  c && (l.thread = c);
7406
7426
  try {
7407
- let e = await Cl(t, "send", {
7427
+ let e = await Tl(t, "send", {
7408
7428
  method: "POST",
7409
7429
  headers: { "Content-Type": "application/json" },
7410
7430
  body: JSON.stringify(l)
@@ -7420,14 +7440,14 @@ function jl(e = {}) {
7420
7440
  };
7421
7441
  return e.queuedSubmissionId !== void 0 && (r.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (r.dispatch = e.dispatch), e.dispatchError !== void 0 && (r.dispatchError = e.dispatchError?.trim() || null), r;
7422
7442
  } catch (e) {
7423
- throw r && Al(e, t) && (s = "unavailable", R()), e;
7443
+ throw r && Ml(e, t) && (s = "unavailable", R()), e;
7424
7444
  }
7425
7445
  },
7426
7446
  send(e) {
7427
7447
  return H.queue(e);
7428
7448
  }
7429
7449
  };
7430
- e.service.provide(ol, H);
7450
+ e.service.provide(cl, H);
7431
7451
  let ie = async () => {
7432
7452
  if (!(C || M())) return B(), b = {
7433
7453
  id: null,
@@ -7458,9 +7478,9 @@ function jl(e = {}) {
7458
7478
  updatedAt: 0
7459
7479
  }) : x = globalThis.setTimeout(() => {
7460
7480
  x = 0, re(e.deliveryId);
7461
- }, ll) : S = globalThis.setTimeout(() => {
7481
+ }, dl) : S = globalThis.setTimeout(() => {
7462
7482
  S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), R());
7463
- }, ul);
7483
+ }, fl);
7464
7484
  } catch (e) {
7465
7485
  b = null, A(), R();
7466
7486
  let t = e instanceof Error ? e.message : String(e);
@@ -7476,7 +7496,7 @@ function jl(e = {}) {
7476
7496
  }, 0));
7477
7497
  let t = globalThis.setInterval(() => {
7478
7498
  c && I().catch(() => void 0);
7479
- }, cl);
7499
+ }, ul);
7480
7500
  e.lifecycle.onDispose(() => {
7481
7501
  w = !0, B(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
7482
7502
  });
@@ -7486,12 +7506,12 @@ function jl(e = {}) {
7486
7506
  }
7487
7507
  //#endregion
7488
7508
  //#region src/screenshot.ts
7489
- var Ml = Gs, Nl = Hs, Pl = Us, Fl = Ws, Il = 4, Ll = Ur, Rl = (e, t) => br(e, t), zl = (e = /* @__PURE__ */ new Date()) => xr(e), Bl = (e, t, n, r) => yr(e, t, n, r), Vl = (e, t, n) => vr(e, t, n), Hl = (e, t) => Br(e, t), Ul = (e) => Hr(e), Wl = (e = {}) => ({
7490
- ...cc(e),
7491
- version: lc
7492
- }), Gl = (e) => Cr(e), Kl = (e) => ({
7509
+ var Pl = qs, Fl = Ws, Il = Gs, Ll = Ks, Rl = 4, zl = Ur, Bl = (e, t) => br(e, t), Vl = (e = /* @__PURE__ */ new Date()) => xr(e), Hl = (e, t, n, r) => yr(e, t, n, r), Ul = (e, t, n) => vr(e, t, n), Wl = (e, t) => Br(e, t), Gl = (e) => Hr(e), Kl = (e = {}) => ({
7510
+ ...uc(e),
7511
+ version: dc
7512
+ }), ql = (e) => Cr(e), Jl = (e) => ({
7493
7513
  ...e,
7494
- version: lc
7495
- }), ql = () => Kl(io()), Jl = () => Kl(ao()), Yl = () => Kl(oo()), Xl = () => Kl(so()), Zl = () => Kl(co()), Ql = () => Kl(lo()), $l = () => Kl(fo()), eu = () => Kl(uo()), tu = () => po().map(Kl), nu = (e = [], t = []) => mo(e, t).map((e) => e.id.startsWith("mesurer.") ? Kl(e) : e);
7514
+ version: dc
7515
+ }), Yl = () => Jl(oo()), Xl = () => Jl(so()), Zl = () => Jl(co()), Ql = () => Jl(lo()), $l = () => Jl(uo()), eu = () => Jl(fo()), tu = () => Jl(mo()), nu = () => Jl(po()), ru = () => ho().map(Jl), iu = (e = [], t = []) => go(e, t).map((e) => e.id.startsWith("mesurer.") ? Jl(e) : e);
7496
7516
  //#endregion
7497
- export { uc as MESURER_ARRANGE_ACTIVE_STATE_ID, dc as MESURER_ARRANGE_PLUGIN_ID, fc as MESURER_ARRANGE_SERVICE_ID, pc as MESURER_ARRANGE_SETTINGS_STATE_ID, mc as MESURER_ARRANGE_STATE_ID, al as MESURER_CODEX_PLUGIN_ID, ol as MESURER_CODEX_SERVICE_ID, qc as MESURER_CONTEXT_PLUGIN_ID, Jc as MESURER_CONTEXT_SERVICE_ID, Yc as MESURER_CONTEXT_SETTINGS_STATE_ID, Gc as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Hc as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Uc as MESURER_LAYOUT_GUIDES_SERVICE_ID, Wc as MESURER_LAYOUT_GUIDES_STATE_ID, Ml as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Nl as MESURER_SCREENSHOT_PLUGIN_ID, Pl as MESURER_SCREENSHOT_SERVICE_ID, Fl as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Il as MIN_SCREENSHOT_SELECTION, hc as arrange, Ll as captureVisibleTabPng, jl as codex, Yl as colorPicker, nu as compose, il as context, Rl as copyPngToClipboard, zl as createScreenshotFilename, Bl as cropPngToViewportRect, tu as defaults, $l as distance, Ql as guides, Kc as layoutGuides, Vl as normalizeScreenshotRect, Hl as prepareScreenshotCapture, Ul as releaseScreenshotCapture, Xl as rulers, Wl as screenshot, ql as select, eu as settings, Zl as typography, Gl as waitForNextPaint, Jl as xray };
7517
+ export { fc as MESURER_ARRANGE_ACTIVE_STATE_ID, pc as MESURER_ARRANGE_PLUGIN_ID, mc as MESURER_ARRANGE_SERVICE_ID, hc as MESURER_ARRANGE_SETTINGS_STATE_ID, gc as MESURER_ARRANGE_STATE_ID, sl as MESURER_CODEX_PLUGIN_ID, cl as MESURER_CODEX_SERVICE_ID, Yc as MESURER_CONTEXT_PLUGIN_ID, Xc as MESURER_CONTEXT_SERVICE_ID, Zc as MESURER_CONTEXT_SETTINGS_STATE_ID, qc as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Wc as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Gc as MESURER_LAYOUT_GUIDES_SERVICE_ID, Kc as MESURER_LAYOUT_GUIDES_STATE_ID, Pl as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Fl as MESURER_SCREENSHOT_PLUGIN_ID, Il as MESURER_SCREENSHOT_SERVICE_ID, Ll as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Rl as MIN_SCREENSHOT_SELECTION, _c as arrange, zl as captureVisibleTabPng, Nl as codex, Zl as colorPicker, iu as compose, ol as context, Bl as copyPngToClipboard, Vl as createScreenshotFilename, Hl as cropPngToViewportRect, ru as defaults, tu as distance, eu as guides, Jc as layoutGuides, Ul as normalizeScreenshotRect, Wl as prepareScreenshotCapture, Gl as releaseScreenshotCapture, Ql as rulers, Kl as screenshot, Yl as select, nu as settings, $l as typography, ql as waitForNextPaint, Xl as xray };