From e7939ff0e21c3430c9eea74c503b7c35f6823445 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Wed, 19 Mar 2025 12:43:46 -0700 Subject: [PATCH] fix(multi-select): fix keyboard navigation for disabled items (#2129) Fixes #2128 --- src/MultiSelect/MultiSelect.svelte | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/MultiSelect/MultiSelect.svelte b/src/MultiSelect/MultiSelect.svelte index 224746b1..ec4aeb54 100644 --- a/src/MultiSelect/MultiSelect.svelte +++ b/src/MultiSelect/MultiSelect.svelte @@ -201,7 +201,8 @@ function change(direction) { let index = highlightedIndex + direction; - const length = filterable ? filteredItems.length : items.length; + const itemsToUse = filterable ? filteredItems : sortedItems; + const length = itemsToUse.length; if (length === 0) return; if (index < 0) { index = length - 1; @@ -209,18 +210,18 @@ index = 0; } - let disabled = items[index].disabled; + let disabled = itemsToUse[index].disabled; while (disabled) { index = index + direction; if (index < 0) { - index = items.length - 1; - } else if (index >= items.length) { + index = length - 1; + } else if (index >= length) { index = 0; } - disabled = items[index].disabled; + disabled = itemsToUse[index].disabled; } highlightedIndex = index;