@abbox/inspector 0.4.13 → 0.4.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/runtime/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAyCxE,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,gBAAgB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IACrD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CAkTlB"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/runtime/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAyCxE,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,gBAAgB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IACrD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CA2UlB"}
@@ -125,11 +125,29 @@ export function createInspectorRuntime(options) {
125
125
  positionHighlight(overlay.highlight, rectForElement(el));
126
126
  options.onHover?.(payloadFor(el));
127
127
  }
128
+ let reportedSize = "";
129
+ const sizeKey = (el) => {
130
+ const rect = el.getBoundingClientRect();
131
+ return `${Math.round(rect.width)}x${Math.round(rect.height)}`;
132
+ };
133
+ /** Re-sends the selection when its size changes (viewport resize, reflow). */
134
+ const sizeObserver = typeof ResizeObserver === "undefined"
135
+ ? null
136
+ : new ResizeObserver(() => {
137
+ if (!selected?.isConnected || sizeKey(selected) === reportedSize)
138
+ return;
139
+ reportedSize = sizeKey(selected);
140
+ positionSelectedHighlight(overlay.selectedHighlight, rectForElement(selected));
141
+ options.onSelect?.(payloadFor(selected));
142
+ });
128
143
  function select(el) {
129
144
  selected = el;
130
145
  hovered = el;
131
146
  positionSelectedHighlight(overlay.selectedHighlight, rectForElement(el));
132
147
  positionHighlight(overlay.highlight, rectForElement(el));
148
+ sizeObserver?.disconnect();
149
+ reportedSize = sizeKey(el);
150
+ sizeObserver?.observe(el);
133
151
  options.onSelect?.(payloadFor(el));
134
152
  }
135
153
  const onCurrentRoute = (marker) => !marker.route ||
@@ -243,6 +261,7 @@ export function createInspectorRuntime(options) {
243
261
  function clearSelection() {
244
262
  hovered = null;
245
263
  selected = null;
264
+ sizeObserver?.disconnect();
246
265
  hideHighlight(overlay.highlight);
247
266
  hideSelectedHighlight(overlay.selectedHighlight);
248
267
  options.onClear?.();
@@ -288,6 +307,7 @@ export function createInspectorRuntime(options) {
288
307
  win.removeEventListener("resize", onScrollOrResize);
289
308
  win.removeEventListener("popstate", scheduleRefresh);
290
309
  observer?.disconnect();
310
+ sizeObserver?.disconnect();
291
311
  if (refreshFrame)
292
312
  win.cancelAnimationFrame(refreshFrame);
293
313
  hovered = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abbox/inspector",
3
- "version": "0.4.13",
3
+ "version": "0.4.14",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },