fix(ui): skip hidden global search results in keyboard nav

Limit navigateResults to visible .search-result-item nodes under the
search root so hidden command palette entries are not focused.
This commit is contained in:
Andras Bacsai
2026-08-07 18:01:43 +02:00
parent 78fe7ee76f
commit a37f1369c8
2 changed files with 9 additions and 1 deletions
@@ -134,7 +134,8 @@
});
},
navigateResults(direction) {
const results = document.querySelectorAll('.search-result-item');
const results = Array.from(this.$el.querySelectorAll('.search-result-item'))
.filter(item => item.offsetParent !== null);
if (results.length === 0) return;
if (direction === 'down') {
@@ -25,3 +25,10 @@ it('uses a single Alpine result renderer for every command palette result type',
->toContain('x-for="(result, index) in searchResults"')
->toContain('x-for="[categoryName, items] in Object.entries(groupedCreatableItems)"');
});
it('skips hidden command palette results during keyboard navigation', function () {
$view = file_get_contents(resource_path('views/livewire/global-search.blade.php'));
expect($view)
->toContain('filter(item => item.offsetParent !== null)');
});