| 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; | |