diff --git a/resources/js/__close-dropdowns-on-navigate.js b/resources/js/__close-dropdowns-on-navigate.js new file mode 100644 index 0000000..e631579 --- /dev/null +++ b/resources/js/__close-dropdowns-on-navigate.js @@ -0,0 +1,19 @@ +(function () { + const closeDropdowns = () => { + document.querySelectorAll('.dropdown.dropdown-open') + .forEach(el => el.classList.remove('dropdown-open')) + + document.querySelectorAll('details[open]') + .forEach(d => d.removeAttribute('open')) + + if (document.activeElement && document.activeElement.blur) { + document.activeElement.blur() + } + }; + + window.addEventListener('livewire:navigated', closeDropdowns) + window.addEventListener('livewire:navigating', closeDropdowns) + + window.addEventListener('popstate', closeDropdowns) + window.addEventListener('pageshow', closeDropdowns) +})() \ No newline at end of file