fix(multi-select): fix keyboard navigation for disabled items (#2129)

Fixes #2128
This commit is contained in:
Eric Liu 2025-03-19 12:43:46 -07:00 committed by GitHub
commit e7939ff0e2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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;