diff --git a/src/MultiSelect/MultiSelect.svelte b/src/MultiSelect/MultiSelect.svelte index c3434432..d49fc526 100644 --- a/src/MultiSelect/MultiSelect.svelte +++ b/src/MultiSelect/MultiSelect.svelte @@ -326,8 +326,15 @@ e.preventDefault(); } - if (key === ' ') { - open = !open; + if (key === ' ' || key === 'Enter') { + if (highlightedIndex > -1) { + sortedItems = sortedItems.map((item, i) => { + if (i !== highlightedIndex) return item; + return { ...item, checked: !item.checked }; + }); + } else { + open = !open; + } } else if (key === 'Tab') { if (selectionRef && checked.length > 0) { selectionRef.focus(); @@ -339,13 +346,6 @@ change(1); } else if (key === 'ArrowUp') { change(-1); - } else if (key === 'Enter') { - if (highlightedIndex > -1) { - sortedItems = sortedItems.map((item, i) => { - if (i !== highlightedIndex) return item; - return { ...item, checked: !item.checked }; - }); - } } else if (key === 'Escape') { open = false; }