From 83dd2be562d2f06dcded9f0b9fcab186521f6964 Mon Sep 17 00:00:00 2001 From: Enrico Sacchetti Date: Tue, 29 Nov 2022 15:49:00 -0500 Subject: [PATCH] fix(Dropdown): adjust select event - Dispatch select event only upon user interaction - Allow arrow keys to open menu and highlight items --- 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; - } + };