//#region src/shared/bodyPointerEvents.ts const locks = /* @__PURE__ */ new WeakMap(); /** * Adds `owner` to the body `pointer-events` lock of `doc` and sets it to `none`. * The first owner saves the body's current inline value. */ function acquireBodyPointerEvents(doc, owner) { let lock = locks.get(doc); if (!lock) { lock = { owners: /* @__PURE__ */ new Set(), original: doc.body.style.pointerEvents }; locks.set(doc, lock); } lock.owners.add(owner); doc.body.style.pointerEvents = "none"; } /** * Removes `owner` from the lock of `doc`; the last owner out restores the saved * value. Releasing an owner that never acquired is a no-op. */ function releaseBodyPointerEvents(doc, owner) { const lock = locks.get(doc); if (!lock?.owners.delete(owner)) return; if (lock.owners.size === 0) { locks.delete(doc); doc.body.style.pointerEvents = lock.original; } } //#endregion Object.defineProperty(exports, 'acquireBodyPointerEvents', { enumerable: true, get: function () { return acquireBodyPointerEvents; } }); Object.defineProperty(exports, 'releaseBodyPointerEvents', { enumerable: true, get: function () { return releaseBodyPointerEvents; } }); //# sourceMappingURL=bodyPointerEvents.cjs.map