feat: pass event to handler callback in useOutsideClick #1998
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We're using
useOutsideClick
to close a modal.The modal renders a menu popup with a tethering mechanism (Popper.js or similar). The popup is rendered not inline, but on the root level at the very end of the
<body>
content. As a result, when a menu item is clicked, theuseOutsideClick
callback is triggered and the modal is closed.Conceptually, the menu popup is part of the modal, so selecting an item in the menu should not close the modal.
This can be easily resolved by checking that the click has been made on the actual page and not a popup which is not part of the page:
But unfortunately, the
useOutsideClick
hook does not pass the event.This PR enables passing of the event.
PS Me on Staff: https://nda.ya.ru/t/BGTaa7T67AUVGa