import gsap from "gsap" | |
import { ScrollTrigger } from "gsap/all" | |
gsap.registerPlugin(ScrollTrigger); | |
export const animateWithGsap = (target, animationProps, scrollProps) => { | |
gsap.to(target, { | |
...animationProps, | |
scrollTrigger: { | |
trigger: target, | |
toggleActions: 'restart reverse restart reverse', | |
start: 'top 85%', | |
...scrollProps, | |
} | |
}) | |
} | |
export const animateWithGsapTimeLine = (timeline, rotationRef, rotationState, firstTarget, secondTarget, animationProps) => { | |
timeline.to(rotationRef.current.rotation, { | |
y: rotationState, | |
duration: 1, | |
ease: 'power2.inOut' | |
}) | |
timeline.to( | |
firstTarget, | |
{ | |
...animationProps, | |
ease: 'power2.inOut' | |
}, | |
'<' | |
) | |
timeline.to( | |
secondTarget, | |
{ | |
...animationProps, | |
ease: 'power2.inOut' | |
}, | |
'<' | |
) | |
} |