| import {useGsapTimeline} from '../../lib/useGsapTimeline'; |
| import {AbsoluteFill} from 'remotion'; |
| import React, {useMemo} from 'react'; |
| import gsap from 'gsap'; |
|
|
| const GsapAnimation = React.memo( |
| ({Timeline, style, className, children, plugins = []}) => { |
| const memoizedPlugins = useMemo(() => { |
| return [...plugins]; |
| }, [plugins]); |
|
|
| gsap.registerPlugin(memoizedPlugins); |
| const ContainerRef = useGsapTimeline(Timeline); |
| return ( |
| <AbsoluteFill className={className} style={style} ref={ContainerRef}> |
| {children} |
| </AbsoluteFill> |
| ); |
| } |
| ); |
|
|
| export default GsapAnimation; |
|
|