feat: add support for view transitions #5
Merged
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.
Describe the pull request
Hi @HiDeoo, people have an issue using The Bags Starlight support.
starlight-image-zoom doesn't work any more as soon as they add view transitions.
I would be happy if you could integrate these changes to make ImageZoom compatible with Astro's view transitions.
Why
Closes martrapp/astro-vtbot#89
How
if ImageZoom should also work with view transitions, the initialization code that runs at
DOMContentLoaded
also needs to run on soft loadsafter-swap
.As the web component runs the constructor whenever the component is inserted into the DOM, setting up the
astro:after-swap
listener needs a static property to keep track of initialization.Without full page reloads, listeners on document and window need some cleanup, which I added
after-preparation
. To make that more symmetric, I also hoisted the addEventlistener calls for click and resize up into the idle callback.Finally, there I added cleanup for the wheel handler in #close.