Don't arrow-nav to hidden dropdown items

This commit is contained in:
Gregory Schier
2024-06-10 23:16:37 -07:00
parent 81ff405874
commit 55a426fc85
+2 -2
View File
@@ -274,7 +274,7 @@ const Menu = forwardRef<Omit<DropdownRef, 'open' | 'isOpen' | 'toggle'>, MenuPro
let nextIndex = (currIndex ?? 0) - 1; let nextIndex = (currIndex ?? 0) - 1;
const maxTries = items.length; const maxTries = items.length;
for (let i = 0; i < maxTries; i++) { for (let i = 0; i < maxTries; i++) {
if (items[nextIndex]?.type === 'separator') { if (items[nextIndex]?.hidden || items[nextIndex]?.type === 'separator') {
nextIndex--; nextIndex--;
} else if (nextIndex < 0) { } else if (nextIndex < 0) {
nextIndex = items.length - 1; nextIndex = items.length - 1;
@@ -291,7 +291,7 @@ const Menu = forwardRef<Omit<DropdownRef, 'open' | 'isOpen' | 'toggle'>, MenuPro
let nextIndex = (currIndex ?? -1) + 1; let nextIndex = (currIndex ?? -1) + 1;
const maxTries = items.length; const maxTries = items.length;
for (let i = 0; i < maxTries; i++) { for (let i = 0; i < maxTries; i++) {
if (items[nextIndex]?.type === 'separator') { if (items[nextIndex]?.hidden || items[nextIndex]?.type === 'separator') {
nextIndex++; nextIndex++;
} else if (nextIndex >= items.length) { } else if (nextIndex >= items.length) {
nextIndex = 0; nextIndex = 0;