@innovastudio/contentbuilder 1.5.215 → 1.5.216

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@innovastudio/contentbuilder",
4
- "version": "1.5.215",
4
+ "version": "1.5.216",
5
5
  "description": "",
6
6
  "main": "public/contentbuilder/contentbuilder.esm.js",
7
7
  "types": "index.d.ts",
@@ -7413,6 +7413,17 @@ class Util {
7413
7413
  hidePops() {
7414
7414
  const dom = this.dom;
7415
7415
  const builderStuff = this.builder.builderStuff;
7416
+
7417
+ /* Fast path. This runs on every scroll event (see the window 'scroll'
7418
+ * handler in contentbuilder.js — its 10ms debounce is shorter than the
7419
+ * ~16ms gap between scroll events, so it does not coalesce them), which
7420
+ * meant two full querySelectorAll sweeps plus their loops ~60x/second
7421
+ * even with nothing open. When nothing is showing, the loops below are
7422
+ * no-ops, so skip straight to the image handles. */
7423
+ if (!builderStuff.querySelector('.is-tool.active, .is-tool[style*="display"], .is-pop.active')) {
7424
+ if (this.builder.editingEngine) this.builder.editingEngine.hideImageHandles();
7425
+ return;
7426
+ }
7416
7427
  let tools = builderStuff.querySelectorAll('.is-tool');
7417
7428
  Array.prototype.forEach.call(tools, tool => {
7418
7429
  // if(tool.classList.contains('is-row-tool')||