МТ
<script>
// ...
function animate(node) {
let resolve, reject;
gsap.to(node, {
// initAnimation
})
return {
update: (visible) => {
if (visible && reject) reject();
},
destroy: () => new Promise((res, rej) => {
resolve = res;
reject = rej;
gsap.to(node, {
// destroyAnimation,
onComplete: resolve
});
});
}
}
</script>
{#if visible}
<div use:animate>content</div>
{/if}