diff --git a/src/OverflowMenu/OverflowMenu.svelte b/src/OverflowMenu/OverflowMenu.svelte index 969758c5..a632923d 100644 --- a/src/OverflowMenu/OverflowMenu.svelte +++ b/src/OverflowMenu/OverflowMenu.svelte @@ -66,7 +66,7 @@ const currentIndex = writable(-1); let buttonWidth = undefined; - let didOpen = false; + let onMountAfterUpdate = true; setContext("OverflowMenu", { focusedId, @@ -108,7 +108,7 @@ buttonWidth = width; - if ($currentIndex < 0) { + if (!onMountAfterUpdate && $currentIndex < 0) { menuRef.focus(); } @@ -125,15 +125,11 @@ } } - if (didOpen && !open) { - items.set([]); - currentId.set(undefined); - currentIndex.set(0); - } + items.set([]); + currentId.set(undefined); + currentIndex.set(0); - if (!didOpen && open) { - didOpen = true; - } + onMountAfterUpdate = false; }); $: ariaLabel = $$props["aria-label"] || "menu";