@omicrxn/mercury
Version:
Mercury is a Svelte animation library using AnimeJS under the hood. It simplifies complex animations with Svelte actions, provides layout and exit animations, and integrates seamlessly with Svelte features.
11 lines (10 loc) • 555 B
JavaScript
import { animate as motionAnimate, inView } from 'motion';
import { mapTransitionToMotion } from '../utils.js';
export const handleScroll = (element, params) => {
if (params?.scroll) {
inView(element, (element) => {
motionAnimate(element, params.scroll?.enter, mapTransitionToMotion(params.scroll?.transition));
return () => motionAnimate(element, params.scroll?.exit ?? params.animate, mapTransitionToMotion(params.scroll?.transition));
}, { root: params.scroll.root, amount: params.scroll.amount });
}
};