diff --git a/src/ContextMenu/ContextMenu.svelte b/src/ContextMenu/ContextMenu.svelte index 1a75c18d..15e8bceb 100644 --- a/src/ContextMenu/ContextMenu.svelte +++ b/src/ContextMenu/ContextMenu.svelte @@ -26,7 +26,6 @@ const position = writable([x, y]); const currentIndex = writable(-1); const hasPopup = writable(false); - const menuOffsetX = writable(0); const ctx = getContext("ContextMenu"); let options = []; @@ -45,7 +44,6 @@ } setContext("ContextMenu", { - menuOffsetX, currentIndex, position, close, @@ -91,8 +89,6 @@ } if (open || y === 0) { - menuOffsetX.set(e.x); - if (window.innerHeight - height < e.y) { y = e.y - height; } else { diff --git a/src/ContextMenu/ContextMenuOption.svelte b/src/ContextMenu/ContextMenuOption.svelte index a4f2ce45..cad43a19 100644 --- a/src/ContextMenu/ContextMenuOption.svelte +++ b/src/ContextMenu/ContextMenuOption.svelte @@ -70,16 +70,11 @@ let role = "menuitem"; let submenuOpen = false; let submenuPosition = [0, 0]; - let menuOffsetX = 0; const unsubPosition = ctx.position.subscribe((position) => { rootMenuPosition = position; }); - const unsubMenuOffsetX = ctx.menuOffsetX.subscribe((_menuOffsetX) => { - menuOffsetX = _menuOffsetX; - }); - function handleClick(opts = {}) { if (disabled) return ctx.close(); if (subOptions) return; @@ -117,7 +112,6 @@ return () => { unsubPosition(); - unsubMenuOffsetX(); if (unsubCurrentIds) unsubCurrentIds(); if (unsubCurrentId) unsubCurrentId(); if (typeof timeoutHover === "number") clearTimeout(timeoutHover); @@ -132,7 +126,7 @@ const { width, y } = ref.getBoundingClientRect(); let x = rootMenuPosition[0] + width; - if (window.innerWidth - menuOffsetX < width) { + if (window.innerWidth - rootMenuPosition[0] < width) { x = rootMenuPosition[0] - width; }