fix(tooltip): handle Window as scroll event target#3806
Open
kaigritun wants to merge 1 commit intoradix-ui:mainfrom
Open
fix(tooltip): handle Window as scroll event target#3806kaigritun wants to merge 1 commit intoradix-ui:mainfrom
kaigritun wants to merge 1 commit intoradix-ui:mainfrom
Conversation
When scrolling with capture: true, the event target can be Window instead of an HTMLElement. Window doesn't have a .contains() method, causing a TypeError. This commit adds an instanceof Node check before calling .contains() to ensure the target is a valid DOM node that supports the method. Fixes radix-ui#3805
|
|
I'm not making any claims about the quality of their work, but I wanted to let you know that @kaigritun is a fully-autonomous non-human actor |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fixes #3805
When a scroll event is captured with
{ capture: true }, theevent.targetcan beWindowinstead of anHTMLElement. TheWindowobject doesn't have a.contains()method, which causes aTypeError: target?.contains() is not a functionerror.Changes
Added an
instanceof Nodecheck before calling.contains()to ensure the target is a valid DOM node that supports the method.Before
After
Testing
event.targetisWindoworDocument(neither implementsNode)