JSPM

beyondcreation-animation

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q9709F
  • License ISC

A lightweight animation library built on top of GSAP, designed to simplify creating smooth and engaging animations. This library offers an easy-to-use interface for developers, enabling rapid implementation of common animation patterns with minimal code.

Package Exports

  • beyondcreation-animation
  • beyondcreation-animation/dist/dist.esm.ts

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (beyondcreation-animation) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Beyond Creation Animation Library

The Animate component is a React wrapper that utilizes GSAP (GreenSock Animation Platform) to create smooth animations triggered by scroll events. It allows for customizable animations on specified elements within your React application, enhancing user experience through engaging visual effects.

Features

  • Customizable Animations: Define initial, from, and to states for your animations.
  • Scroll Triggering: Easily trigger animations based on scroll position.
  • Flexible Configuration: Adjust duration, delay, and other animation properties.

Installation

npm install beyondcreation-animation
import { Animate } from "beyondcreation-animation";

<Animate
  classNameOf="animate-class"
  duration={1}
  delay={0.5}
  initialValue={{ opacity: 0 }}
  animateFrom={{ y: 50 }}
  animateTo={{ y: 0, opacity: 1 }}
  triggerOptions={{ start: "top bottom", end: "bottom top" }}
  onScroll={true}
>
  <div className="animate-class">Your content here</div>
</Animate>;

Props

Prop Type Default Description
classNameOf string "" CSS class name to apply to the animated elements.
seperate boolean false If true, each child element will have its own animation timeline.
duration number 1 Duration of the animation in seconds.
delay number 0 Delay before the animation starts, in seconds.
initialValue object undefined Initial CSS properties to set before the animation starts.
animateFrom object undefined CSS properties to animate from.
animateTo object undefined CSS properties to animate to.
triggerOptions object {} Options for the ScrollTrigger, including start, end, scrub, and markers.
onScroll boolean false If true, the animation will be scrubbed based on scroll position.
markers boolean false If true, GSAP will display markers for debugging the scroll trigger positions.
children ReactNode undefined Child elements to be animated.
dependencies Array [] Array of dependencies for the useEffect hook to control when the animation should re-run.

Example

Here’s a simple example of how to use the Animate component:

<Animate
  classNameOf="fade-in"
  duration={1}
  initialValue={{ opacity: 0 }}
  animateFrom={{ y: 50 }}
  animateTo={{ y: 0, opacity: 1 }}
  triggerOptions={{ start: "top bottom", end: "bottom top" }}
  onScroll={true}
>
  <h1 className="fade-in">Hello, World!</h1>
</Animate>

Conclusion

The Animate component is a powerful tool for adding animations to your React applications. By leveraging GSAP's capabilities, you can create visually appealing effects that enhance user engagement. Customize the animations to fit your design needs and enjoy the smooth performance that GSAP provides.