mesurer-solid 0.2.2-beta.6 → 0.2.2-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/inject.js CHANGED
@@ -14267,20 +14267,43 @@ var Dg = 80, Og = 8, kg = 8, Ag = 0, jg = (e) => ({
14267
14267
  function Wg(e, t) {
14268
14268
  let { ownerDocument: n, ownerWindow: r, pageTarget: i, portalTarget: a } = t, o = r;
14269
14269
  if (!Ig(o) || a instanceof o.ShadowRoot || i instanceof o.ShadowRoot || a.getRootNode() !== n || i.getRootNode() !== n || !n.body) return;
14270
- let s = bs(n), c = t.createWorkspaceRuntime(), l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), m = null, h = null, g = !1, _ = !1, v = 0, y = 0, b = !1, x = 0, S = a.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), C = S.item(S.length - 1), w = C?.isConnected ? Ug(n, C, "runtime") : null;
14271
- C && (C.dataset.mesurerNativeScrollRuntimeLayer = "true");
14272
- let T = n.createElement("style");
14273
- T.dataset.mesurerNativeScrollAnchoring = "true", T.dataset.mesurerInspectorUi = "true", T.textContent = "\n[data-mesurer-native-scroll-anchor=\"box\"] {\n position: absolute !important;\n left: anchor(left) !important;\n top: anchor(top) !important;\n right: auto !important;\n bottom: auto !important;\n width: anchor-size(width) !important;\n height: anchor-size(height) !important;\n transition: none !important;\n animation: none !important;\n}\n[data-mesurer-native-scroll-anchor=\"label\"] {\n position: absolute !important;\n left: anchor(center) !important;\n top: calc(anchor(bottom) + 2px) !important;\n right: auto !important;\n bottom: auto !important;\n transition: none !important;\n animation: none !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px)) !important;\n right: auto !important;\n bottom: auto !important;\n transition: none !important;\n animation: none !important;\n}\n", n.head.append(T);
14274
- let E = (e, t) => {
14270
+ let s = bs(n), c = t.createWorkspaceRuntime(), l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = null, g = null, _ = !1, v = !1, y = 0, b = 0, x = !1, S = 0, C = a.querySelectorAll("[data-mesurer-text-edit-runtime='true']"), w = C.item(C.length - 1), T = w?.isConnected ? Ug(n, w, "runtime") : null;
14271
+ w && (w.dataset.mesurerNativeScrollRuntimeLayer = "true");
14272
+ let E = n.createElement("style");
14273
+ E.dataset.mesurerNativeScrollAnchoring = "true", E.dataset.mesurerInspectorUi = "true", E.textContent = "\n/* The selected page element, not a document-level portal, paints its outline.\n The source's own compositor scroll node can then move outline and text in\n the same frame. The invisible portaled box remains usable for measurement\n and element identity tests without displaying the delayed duplicate. */\n[data-mesurer-source-selection-paint=\"true\"] {\n outline: 1px solid var(--mesurer-selected-source-outline, #0d99ff) !important;\n outline-offset: -1px !important;\n /* Tint source text as well as its background: the previous translucent\n portal covered both, while source-local background paint alone would\n leave all antialiased text pixels visibly darker. */\n color: color-mix(\n in srgb,\n var(--mesurer-selected-source-text, currentColor) 84.64%,\n rgb(from var(--mesurer-selected-source-fill) r g b / 1) 15.36%\n ) !important;\n background-image:\n linear-gradient(var(--mesurer-selected-source-fill, transparent), var(--mesurer-selected-source-fill, transparent)),\n var(--mesurer-selected-source-background, none) !important;\n}\n[data-mesurer-source-selection-owner=\"true\"] > [data-mesurer-measurement-chrome=\"true\"] {\n opacity: 0 !important;\n}\nbody:has([data-mesurer-source-selection-paint=\"true\"]) > [data-mesurer-arrange-native-stroke=\"true\"] {\n opacity: 0 !important;\n}\nbody:has([data-mesurer-text-editor=\"true\"]) [data-mesurer-source-selection-paint=\"true\"] {\n outline: none !important;\n background-image: var(--mesurer-selected-source-background, none) !important;\n color: var(--mesurer-selected-source-text, inherit) !important;\n}\n[data-mesurer-native-scroll-anchor=\"box\"] {\n position: absolute !important;\n left: anchor(left) !important;\n top: anchor(top) !important;\n right: auto !important;\n bottom: auto !important;\n width: anchor-size(width) !important;\n height: anchor-size(height) !important;\n transition: none !important;\n animation: none !important;\n}\n[data-mesurer-native-scroll-anchor=\"label\"] {\n position: absolute !important;\n left: anchor(center) !important;\n top: calc(anchor(bottom) + 2px) !important;\n right: auto !important;\n bottom: auto !important;\n transition: none !important;\n animation: none !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px)) !important;\n right: auto !important;\n bottom: auto !important;\n transition: none !important;\n animation: none !important;\n}\n", n.head.append(E);
14274
+ let D = [
14275
+ "--mesurer-selected-source-outline",
14276
+ "--mesurer-selected-source-fill",
14277
+ "--mesurer-selected-source-background",
14278
+ "--mesurer-selected-source-text"
14279
+ ], O = (e, t) => {
14280
+ let n = u.get(e);
14281
+ if (n) n.count += 1;
14282
+ else {
14283
+ let n = o.getComputedStyle(e), r = t.querySelector(":scope > div"), i = r ? o.getComputedStyle(r).backgroundColor : "#0d99ff", a = o.getComputedStyle(t).backgroundColor, s = Vg(e, D);
14284
+ u.set(e, {
14285
+ count: 1,
14286
+ previous: e.getAttribute("data-mesurer-source-selection-paint"),
14287
+ styles: s
14288
+ }), e.style.setProperty("--mesurer-selected-source-outline", i), e.style.setProperty("--mesurer-selected-source-fill", a), e.style.setProperty("--mesurer-selected-source-background", n.backgroundImage), e.style.setProperty("--mesurer-selected-source-text", n.color), e.dataset.mesurerSourceSelectionPaint = "true";
14289
+ }
14290
+ let r = !1;
14291
+ return () => {
14292
+ if (r) return;
14293
+ r = !0;
14294
+ let t = u.get(e);
14295
+ t && (--t.count, !(t.count > 0) && (t.previous === null ? e.removeAttribute("data-mesurer-source-selection-paint") : e.setAttribute("data-mesurer-source-selection-paint", t.previous), Hg(e, t.styles), u.delete(e)));
14296
+ };
14297
+ }, k = (e, t) => {
14275
14298
  let n = t.original.trim(), r = Array.from(t.names), i = [n && n !== "none" ? n : "", ...r].filter(Boolean).join(", ");
14276
14299
  i ? e.style.setProperty("anchor-name", i, t.originalPriority) : e.style.removeProperty("anchor-name");
14277
- }, D = (e, t) => {
14300
+ }, A = (e, t) => {
14278
14301
  let n = l.get(e);
14279
14302
  n || (n = {
14280
14303
  original: e.style.getPropertyValue("anchor-name"),
14281
14304
  originalPriority: e.style.getPropertyPriority("anchor-name"),
14282
14305
  names: /* @__PURE__ */ new Set()
14283
- }, l.set(e, n)), n.names.add(t), E(e, n);
14306
+ }, l.set(e, n)), n.names.add(t), k(e, n);
14284
14307
  let r = !1;
14285
14308
  return () => {
14286
14309
  if (r) return;
@@ -14288,76 +14311,77 @@ function Wg(e, t) {
14288
14311
  let n = l.get(e);
14289
14312
  if (n) {
14290
14313
  if (n.names.delete(t), n.names.size) {
14291
- E(e, n);
14314
+ k(e, n);
14292
14315
  return;
14293
14316
  }
14294
14317
  n.original ? e.style.setProperty("anchor-name", n.original, n.originalPriority) : e.style.removeProperty("anchor-name"), l.delete(e);
14295
14318
  }
14296
14319
  };
14297
- }, O = (e, t) => {
14320
+ }, j = (e, t) => {
14298
14321
  let n = `--mesurer-${t}-${++Ag}`;
14299
14322
  return {
14300
14323
  target: e,
14301
14324
  name: n,
14302
- release: D(e, n)
14325
+ release: A(e, n)
14303
14326
  };
14304
- }, k = (e, t, n) => {
14327
+ }, M = (e, t, n) => {
14305
14328
  e.dataset.mesurerNativeScrollAnchor = n, Lg(e, "position-anchor", t.name);
14306
- }, A = (e) => {
14307
- Rg(e.chrome), Rg(e.label), e.release(), e.placement.release();
14308
- }, j = (e, t, r, i) => {
14309
- let a = u.get(e);
14310
- a && A(a);
14311
- let o = O(t, "selection"), s = Ug(n, e, e.parentNode === n.body ? "none" : "selection-root"), c = {
14329
+ }, N = (e) => {
14330
+ delete e.root.dataset.mesurerSourceSelectionOwner, Rg(e.chrome), Rg(e.label), e.releaseSourcePaint(), e.release(), e.placement.release();
14331
+ }, P = (e, t, r, i) => {
14332
+ let a = d.get(e);
14333
+ a && N(a);
14334
+ let o = j(t, "selection"), s = Ug(n, e, e.parentNode === n.body ? "none" : "selection-root"), c = {
14312
14335
  ...o,
14313
14336
  root: e,
14314
14337
  chrome: r,
14315
14338
  label: i,
14316
- placement: s
14339
+ placement: s,
14340
+ releaseSourcePaint: O(t, r)
14317
14341
  };
14318
- u.set(e, c), k(r, c, "box"), i && k(i, c, "label");
14319
- }, M = (e, t) => t.find((t) => Pg(jg(t.getBoundingClientRect()), e)) || (t.length === 1 ? t[0] : null), N = () => {
14342
+ e.dataset.mesurerSourceSelectionOwner = "true", d.set(e, c), M(r, c, "box"), i && M(i, c, "label");
14343
+ }, F = (e, t) => t.find((t) => Pg(jg(t.getBoundingClientRect()), e)) || (t.length === 1 ? t[0] : null), I = () => {
14320
14344
  let e = /* @__PURE__ */ new Set();
14321
- for (let t of u.keys()) t.isConnected && e.add(t);
14345
+ for (let t of d.keys()) t.isConnected && e.add(t);
14322
14346
  for (let t of a.querySelectorAll("[data-mesurer-selected-measurement='true']")) t.dataset.mesurerSelectionGroup !== "true" && e.add(t);
14323
14347
  let t = c.currentSelection().elements.filter((e) => e instanceof o.HTMLElement);
14324
14348
  for (let a of e) {
14325
- let e = u.get(a);
14349
+ let e = d.get(a);
14326
14350
  if (e?.target.isConnected && e.chrome.isConnected) {
14327
- if (k(e.chrome, e, "box"), e.label?.isConnected && k(e.label, e, "label"), t.includes(e.target) || b) continue;
14328
- let s = ws(e.chrome), c = Ng(e.chrome, a, n, r), l = s instanceof o.HTMLElement && s.isConnected ? s : M(c, t) ?? Bg(c, n, o, i);
14329
- l && j(a, l, e.chrome, e.label);
14351
+ if (M(e.chrome, e, "box"), e.label?.isConnected && M(e.label, e, "label"), t.includes(e.target) || x) continue;
14352
+ let s = ws(e.chrome), c = Ng(e.chrome, a, n, r), l = s instanceof o.HTMLElement && s.isConnected ? s : F(c, t) ?? Bg(c, n, o, i);
14353
+ l && P(a, l, e.chrome, e.label);
14330
14354
  continue;
14331
14355
  }
14332
- e && (A(e), u.delete(a));
14356
+ e && (N(e), d.delete(a));
14333
14357
  let s = a.children.item(0);
14334
14358
  if (!(s instanceof o.HTMLElement)) continue;
14335
- let c = a.children.item(a.children.length - 1), l = c instanceof o.HTMLElement && c !== s ? c : null, d = ws(s), f = Ng(s, a, n, r), p = d instanceof o.HTMLElement && d.isConnected ? d : M(f, t) ?? Bg(f, n, o, i);
14336
- p && j(a, p, s, l);
14359
+ let c = a.children.item(a.children.length - 1), l = c instanceof o.HTMLElement && c !== s ? c : null, u = ws(s), f = Ng(s, a, n, r), p = u instanceof o.HTMLElement && u.isConnected ? u : F(f, t) ?? Bg(f, n, o, i);
14360
+ p && P(a, p, s, l);
14337
14361
  }
14338
- for (let [e, t] of Array.from(u)) e.isConnected || (A(t), u.delete(e));
14339
- }, P = () => {
14340
- m &&= (Rg(m.surface), m.release(), m.placement.release(), null);
14341
- }, F = () => {
14342
- let e = m?.surface.isConnected ? m.surface : a.querySelector("[data-mesurer-hover-measurement='true']");
14362
+ for (let [e, t] of Array.from(d)) e.isConnected || (N(t), d.delete(e));
14363
+ }, L = () => {
14364
+ h &&= (Rg(h.surface), h.release(), h.placement.release(), null);
14365
+ }, R = () => {
14366
+ let e = h?.surface.isConnected ? h.surface : a.querySelector("[data-mesurer-hover-measurement='true']");
14343
14367
  if (!e?.isConnected) {
14344
- P();
14368
+ L();
14345
14369
  return;
14346
14370
  }
14347
14371
  let t = Mg(e);
14348
- if (m?.surface === e && m.target.isConnected && (k(e, m, "box"), b || Pg(jg(m.target.getBoundingClientRect()), t))) return;
14372
+ if (h?.surface === e && h.target.isConnected && (M(e, h, "box"), x || Pg(jg(h.target.getBoundingClientRect()), t))) return;
14349
14373
  let r = Bg(t, n, o, i);
14350
14374
  if (!r) return;
14351
- P();
14352
- let s = O(r, "hover"), c = Ug(n, e);
14353
- m = {
14375
+ L();
14376
+ let s = j(r, "hover"), c = Ug(n, e);
14377
+ h = {
14354
14378
  ...s,
14355
14379
  surface: e,
14356
14380
  placement: c
14357
- }, k(e, m, "box");
14358
- }, I = () => {
14359
- h &&= (Rg(h.ring), h.release(), null);
14360
- }, L = (e, t, n) => {
14381
+ }, M(e, h, "box");
14382
+ }, z = () => {
14383
+ g &&= (Rg(g.ring), g.release(), null);
14384
+ }, B = (e, t, n) => {
14361
14385
  let i = t.getBoundingClientRect();
14362
14386
  if (i.width <= 0 || i.height <= 0) return;
14363
14387
  let a = i.width, o = Math.max(i.height, t.scrollHeight), s = r.innerWidth - Og, c = r.innerHeight - Og, l = Math.max(Og, s - a), u = Math.max(Og, c - o), d = Math.min(Math.max(n.left + n.width / 2 - a / 2, Og), l), f = Math.min(Math.max(n.top + n.height / 2 - o / 2, Og), u), p = [
@@ -14396,46 +14420,46 @@ function Wg(e, t) {
14396
14420
  e && e.height > 0 && (v = e.top, y = e.name, t.style.maxHeight = `${e.height}px`);
14397
14421
  }
14398
14422
  e.style.setProperty("--mesurer-native-anchor-x", `${_ - n.left}px`), e.style.setProperty("--mesurer-native-anchor-y", `${v - n.top}px`), t.dataset.mesurerTextInspectorPlacement = y;
14399
- }, R = () => {
14400
- if (!C?.isConnected) {
14401
- I();
14423
+ }, V = () => {
14424
+ if (!w?.isConnected) {
14425
+ z();
14402
14426
  return;
14403
14427
  }
14404
- let e = C.querySelectorAll("[data-mesurer-text-edit-ring='true']"), t = h?.ring.isConnected ? h.ring : e.item(e.length - 1);
14428
+ let e = w.querySelectorAll("[data-mesurer-text-edit-ring='true']"), t = g?.ring.isConnected ? g.ring : e.item(e.length - 1);
14405
14429
  if (!t?.isConnected) {
14406
- I();
14430
+ z();
14407
14431
  return;
14408
14432
  }
14409
14433
  let a = Mg(t);
14410
- if (!h || h.ring !== t || !h.target.isConnected || !b && !Pg(jg(h.target.getBoundingClientRect()), a)) {
14434
+ if (!g || g.ring !== t || !g.target.isConnected || !x && !Pg(jg(g.target.getBoundingClientRect()), a)) {
14411
14435
  let e = Bg(a, n, o, i);
14412
- e && (I(), h = {
14413
- ...O(e, "edit"),
14436
+ e && (z(), g = {
14437
+ ...j(e, "edit"),
14414
14438
  ring: t
14415
14439
  });
14416
14440
  }
14417
- if (!h) return;
14418
- k(t, h, "box");
14419
- let s = jg(h.target.getBoundingClientRect()), c = /* @__PURE__ */ new Set();
14441
+ if (!g) return;
14442
+ M(t, g, "box");
14443
+ let s = jg(g.target.getBoundingClientRect()), c = /* @__PURE__ */ new Set();
14420
14444
  for (let e of n.querySelectorAll("[data-mesurer-text-selection-highlight='true']")) {
14421
14445
  if (!e.isConnected) continue;
14422
14446
  c.add(e);
14423
14447
  let t = Mg(e);
14424
- d.has(e) || d.set(e, Ug(n, e)), k(e, h, "offset"), b || (e.style.setProperty("--mesurer-native-anchor-x", `${t.left - s.left}px`), e.style.setProperty("--mesurer-native-anchor-y", `${t.top - s.top}px`));
14448
+ f.has(e) || f.set(e, Ug(n, e)), M(e, g, "offset"), x || (e.style.setProperty("--mesurer-native-anchor-x", `${t.left - s.left}px`), e.style.setProperty("--mesurer-native-anchor-y", `${t.top - s.top}px`));
14425
14449
  }
14426
- for (let [e, t] of Array.from(d)) c.has(e) && e.isConnected || (Rg(e), t.release(), d.delete(e));
14427
- let l = C.querySelector("[data-mesurer-text-inspector-placement-shell='true']"), u = C.querySelector("[data-mesurer-text-inspector-info='true']");
14450
+ for (let [e, t] of Array.from(f)) c.has(e) && e.isConnected || (Rg(e), t.release(), f.delete(e));
14451
+ let l = w.querySelector("[data-mesurer-text-inspector-placement-shell='true']"), u = w.querySelector("[data-mesurer-text-inspector-info='true']");
14428
14452
  if (l?.isConnected && u?.isConnected) {
14429
14453
  let e = l.dataset.mesurerNativeScrollOwner === "typography" && l.dataset.mesurerNativeScrollAnchor === "offset";
14430
- l.dataset.mesurerNativeScrollOwner = "typography", k(l, h, "offset");
14454
+ l.dataset.mesurerNativeScrollOwner = "typography", M(l, g, "offset");
14431
14455
  let t = s.right > 0 && s.bottom > 0 && s.left < r.innerWidth && s.top < r.innerHeight;
14432
- !e && t && L(l, u, s);
14456
+ !e && t && B(l, u, s);
14433
14457
  }
14434
- }, z = (e) => {
14458
+ }, ee = (e) => {
14435
14459
  Rg(e.box), Rg(e.card), e.release();
14436
- }, B = () => {
14460
+ }, H = () => {
14437
14461
  let e = /* @__PURE__ */ new Set();
14438
- for (let t of p.keys()) t.isConnected && e.add(t);
14462
+ for (let t of m.keys()) t.isConnected && e.add(t);
14439
14463
  for (let t of a.querySelectorAll(".mesurer-ti-box")) {
14440
14464
  let n = t.parentElement;
14441
14465
  n?.dataset.mesurerInspectorUi === "true" && e.add(n);
@@ -14453,9 +14477,9 @@ function Wg(e, t) {
14453
14477
  }), t.add(r);
14454
14478
  }
14455
14479
  if (s.length) {
14456
- p.has(a) || p.set(a, Ug(n, a, "inspector-overlay"));
14480
+ m.has(a) || m.set(a, Ug(n, a, "inspector-overlay"));
14457
14481
  for (let { box: e, card: t } of s) {
14458
- let a = Mg(e), s = f.get(e), c = !1;
14482
+ let a = Mg(e), s = p.get(e), c = !1;
14459
14483
  if (s?.target.isConnected) {
14460
14484
  let t = jg(s.target.getBoundingClientRect());
14461
14485
  if (Pg(t, a)) s.fallbackScrollX = r.scrollX, s.fallbackScrollY = r.scrollY, c = !0;
@@ -14468,22 +14492,22 @@ function Wg(e, t) {
14468
14492
  width: a.width,
14469
14493
  height: a.height
14470
14494
  });
14471
- !b && !o && (z(s), f.delete(e), s = void 0);
14495
+ !x && !o && (ee(s), p.delete(e), s = void 0);
14472
14496
  }
14473
- } else s &&= (z(s), f.delete(e), void 0);
14497
+ } else s &&= (ee(s), p.delete(e), void 0);
14474
14498
  if (!s) {
14475
14499
  let l = Bg(a, n, o, i);
14476
14500
  if (!l) continue;
14477
14501
  s = {
14478
- ...O(l, "typography"),
14502
+ ...j(l, "typography"),
14479
14503
  box: e,
14480
14504
  card: t,
14481
14505
  fallbackScrollX: r.scrollX,
14482
14506
  fallbackScrollY: r.scrollY
14483
- }, f.set(e, s), c = !0;
14507
+ }, p.set(e, s), c = !0;
14484
14508
  }
14485
- if (e.dataset.mesurerNativeScrollOwner = "typography", k(e, s, "box"), t?.isConnected && !t.classList.contains("mesurer-ti-card--pinned")) {
14486
- if (t.dataset.mesurerNativeScrollOwner = "typography", k(t, s, "offset"), !b && c) {
14509
+ if (e.dataset.mesurerNativeScrollOwner = "typography", M(e, s, "box"), t?.isConnected && !t.classList.contains("mesurer-ti-card--pinned")) {
14510
+ if (t.dataset.mesurerNativeScrollOwner = "typography", M(t, s, "offset"), !x && c) {
14487
14511
  let e = jg(s.target.getBoundingClientRect()), n = Number.parseFloat(t.style.left), r = Number.parseFloat(t.style.top);
14488
14512
  Number.isFinite(n) && t.style.setProperty("--mesurer-native-anchor-x", `${n - e.left}px`), Number.isFinite(r) && t.style.setProperty("--mesurer-native-anchor-y", `${r - e.top}px`);
14489
14513
  }
@@ -14491,54 +14515,56 @@ function Wg(e, t) {
14491
14515
  }
14492
14516
  }
14493
14517
  }
14494
- for (let [e, n] of Array.from(f)) t.has(e) && e.isConnected || (z(n), f.delete(e));
14495
- for (let [e, t] of Array.from(p)) e.isConnected || (t.release(), p.delete(e));
14496
- }, V = () => {
14497
- g || (N(), F(), R(), B());
14498
- }, ee = (e = !1) => {
14499
- g || (_ || (_ = !0, r.queueMicrotask(() => {
14500
- _ = !1, V();
14501
- })), e && !v && (v = r.requestAnimationFrame(() => {
14502
- v = 0, V();
14518
+ for (let [e, n] of Array.from(p)) t.has(e) && e.isConnected || (ee(n), p.delete(e));
14519
+ for (let [e, t] of Array.from(m)) e.isConnected || (t.release(), m.delete(e));
14520
+ }, te = () => {
14521
+ _ || (I(), R(), V(), H());
14522
+ }, U = (e = !1) => {
14523
+ _ || (v || (v = !0, r.queueMicrotask(() => {
14524
+ v = !1, te();
14525
+ })), e && !y && (y = r.requestAnimationFrame(() => {
14526
+ y = 0, te();
14503
14527
  })));
14504
- }, H = () => {
14505
- g || b || y || (y = r.requestAnimationFrame(() => {
14506
- y = 0, !(g || b) && F();
14528
+ }, ne = () => {
14529
+ _ || x || b || (b = r.requestAnimationFrame(() => {
14530
+ b = 0, !(_ || x) && R();
14507
14531
  }));
14508
- }, te = new o.MutationObserver(() => {
14509
- b || ee();
14532
+ }, re = new o.MutationObserver(() => {
14533
+ x || U();
14510
14534
  });
14511
- te.observe(a, {
14535
+ re.observe(a, {
14512
14536
  subtree: !0,
14513
14537
  childList: !0,
14514
14538
  attributes: !0,
14515
14539
  attributeFilter: ["data-state"]
14516
- }), C && te.observe(C, {
14540
+ }), w && re.observe(w, {
14517
14541
  subtree: !0,
14518
14542
  childList: !0,
14519
14543
  attributes: !0,
14520
14544
  attributeFilter: ["data-state"]
14521
14545
  });
14522
- let U = () => {
14523
- b = !0, x && r.clearTimeout(x), x = r.setTimeout(() => {
14524
- x = 0, b = !1, ee(!0);
14546
+ let ie = () => {
14547
+ x = !0, S && r.clearTimeout(S), S = r.setTimeout(() => {
14548
+ S = 0, x = !1, U(!0);
14525
14549
  }, Dg);
14526
- }, ne = () => ee(!0);
14527
- r.addEventListener("scroll", U, {
14550
+ }, ae = () => U(!0);
14551
+ r.addEventListener("scroll", ie, {
14528
14552
  capture: !0,
14529
14553
  passive: !0
14530
- }), r.addEventListener("resize", ne, !0), r.addEventListener("pointermove", H, !0), r.addEventListener("pointerup", ne, !0), r.addEventListener("dblclick", ne, !0), ee(!0), e.lifecycle.onDispose(() => {
14531
- g = !0, te.disconnect(), v && r.cancelAnimationFrame(v), y && r.cancelAnimationFrame(y), x && r.clearTimeout(x), r.removeEventListener("scroll", U, !0), r.removeEventListener("resize", ne, !0), r.removeEventListener("pointermove", H, !0), r.removeEventListener("pointerup", ne, !0), r.removeEventListener("dblclick", ne, !0);
14532
- for (let e of u.values()) A(e);
14533
- u.clear(), P(), I();
14534
- for (let [e, t] of d) Rg(e), t.release();
14554
+ }), r.addEventListener("resize", ae, !0), r.addEventListener("pointermove", ne, !0), r.addEventListener("pointerup", ae, !0), r.addEventListener("dblclick", ae, !0), U(!0), e.lifecycle.onDispose(() => {
14555
+ _ = !0, re.disconnect(), y && r.cancelAnimationFrame(y), b && r.cancelAnimationFrame(b), S && r.clearTimeout(S), r.removeEventListener("scroll", ie, !0), r.removeEventListener("resize", ae, !0), r.removeEventListener("pointermove", ne, !0), r.removeEventListener("pointerup", ae, !0), r.removeEventListener("dblclick", ae, !0);
14556
+ for (let e of d.values()) N(e);
14535
14557
  d.clear();
14536
- for (let e of f.values()) z(e);
14558
+ for (let [e, t] of u) t.previous === null ? e.removeAttribute("data-mesurer-source-selection-paint") : e.setAttribute("data-mesurer-source-selection-paint", t.previous), Hg(e, t.styles);
14559
+ u.clear(), L(), z();
14560
+ for (let [e, t] of f) Rg(e), t.release();
14537
14561
  f.clear();
14538
- for (let e of p.values()) e.release();
14539
- p.clear(), C && delete C.dataset.mesurerNativeScrollRuntimeLayer, w?.release(), c.dispose();
14562
+ for (let e of p.values()) ee(e);
14563
+ p.clear();
14564
+ for (let e of m.values()) e.release();
14565
+ m.clear(), w && delete w.dataset.mesurerNativeScrollRuntimeLayer, T?.release(), c.dispose();
14540
14566
  for (let [e, t] of l) t.original ? e.style.setProperty("anchor-name", t.original, t.originalPriority) : e.style.removeProperty("anchor-name");
14541
- l.clear(), s(), T.remove();
14567
+ l.clear(), s(), E.remove();
14542
14568
  });
14543
14569
  }
14544
14570
  var Gg = (e, t) => e.portalTarget instanceof t.ShadowRoot && !(e.pageTarget instanceof t.ShadowRoot) && e.pageTarget.getRootNode() === e.ownerDocument;
@@ -22710,7 +22736,7 @@ function FC(e) {
22710
22736
  }
22711
22737
  //#endregion
22712
22738
  //#region src/version.ts
22713
- var IC = "0.2.2-beta.6", LC = gh, RC = _h, zC = () => ({
22739
+ var IC = "0.2.2-beta.7", LC = gh, RC = _h, zC = () => ({
22714
22740
  ...fg(),
22715
22741
  version: IC
22716
22742
  }), BC = RC, 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, HC = (e) => {
package/dist/plugins.js CHANGED
@@ -9037,7 +9037,7 @@ var Sc = "mesurer.layout-guides", Cc = "layout-guides:v1", wc = "mesurer.layout-
9037
9037
  C = !0, b += 1, d.removeEventListener("pointerdown", z), d.removeEventListener("pointermove", B), d.removeEventListener("pointerup", V), d.removeEventListener("pointercancel", H), i.removeEventListener("keydown", U, !0), y && i.clearTimeout(y), M.dispose(), k(), ti(i), a.finishCapture(), a.dispose(), o.dispose();
9038
9038
  });
9039
9039
  }
9040
- }), Qu = "0.2.2-beta.6", $u = ko, ed = Eo, td = Do, nd = Ao, rd = Oo, id = () => ({
9040
+ }), Qu = "0.2.2-beta.7", $u = ko, ed = Eo, td = Do, nd = Ao, rd = Oo, id = () => ({
9041
9041
  ...Ss(),
9042
9042
  version: Qu
9043
9043
  }), ad = id, od = $u, sd = ed, cd = td, ld = nd, ud = rd, dd = (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, fd = (e) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mesurer-solid",
3
- "version": "0.2.2-beta.6",
3
+ "version": "0.2.2-beta.7",
4
4
  "description": "Framework-agnostic UI measurement and inspection tools for browser apps and coding agents.",
5
5
  "license": "MIT",
6
6
  "type": "module",