From fa5515ded06942a6a1af3fb043a14aff6df25ed9 Mon Sep 17 00:00:00 2001 From: Enrico Sacchetti Date: Wed, 7 Dec 2022 23:09:29 -0500 Subject: [PATCH] fix(dropdown): only dispatch "select" on interaction, allow arrow keys to navigate menu (#1569) Fixes #1475 --- src/Dropdown/Dropdown.svelte | 37 +++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/src/Dropdown/Dropdown.svelte b/src/Dropdown/Dropdown.svelte index 79a67406..567c0760 100644 --- a/src/Dropdown/Dropdown.svelte +++ b/src/Dropdown/Dropdown.svelte @@ -112,6 +112,12 @@ let highlightedIndex = -1; + $: inline = type === "inline"; + $: selectedItem = items.find((item) => item.id === selectedId); + $: if (!open) { + highlightedIndex = -1; + } + function change(dir) { let index = highlightedIndex + dir; @@ -138,14 +144,9 @@ highlightedIndex = index; } - $: if (selectedId !== undefined) { + const dispatchSelect = () => { dispatch("select", { selectedId, selectedItem }); - } - $: inline = type === "inline"; - $: selectedItem = items.find((item) => item.id === selectedId); - $: if (!open) { - highlightedIndex = -1; - } + };