feat: animate hide #88
Open
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.
Fixes: #57
This change introduces an animation to the
hide()
method, making the annotation disappear with a reverse animation of theshow()
method.Previously,
hide()
would immediately remove the annotation's SVG elements from the DOM. This change modifies thehide()
method to:show()
animation in reverse.requestAnimationFrame
to ensure the animation restart is smooth.setTimeout
to remove the SVG elements only after the animation has completed. This prevents race conditions whenshow()
is called again while ahide()
animation is in progress.Tested
Added a demo page so you can pull this down and try it as well!
Contributing
Not sure what your contribution guidelines are, but just FYI the first pass at this was done with AI. The Jules product / Google doesn't claim any copyright over code generated by Jules though.
For my ref
Task ID: https://jules.google.com/task/18159235495996926247