UNPKG

@gfazioli/mantine-text-animate

Version:

The TextAnimate component allows you to animate text with various effects.

39 lines (35 loc) 1.06 kB
'use client'; 'use strict'; var React = require('react'); function useTextAnimate(initialDirection = void 0) { const [animate, setAnimate] = React.useState(initialDirection); const [isAnimating, setIsAnimating] = React.useState(false); const [key, setKey] = React.useState(0); const animatingRef = React.useRef(false); const replay = React.useCallback(() => { setKey((prev) => prev + 1); animatingRef.current = true; setIsAnimating(true); }, []); const handleSetAnimate = React.useCallback((direction) => { setAnimate(direction); if (direction === "in" || direction === "out" || direction === "loop") { animatingRef.current = true; setIsAnimating(true); } }, []); const onAnimationComplete = React.useCallback(() => { animatingRef.current = false; setIsAnimating(false); }, []); return { animate, setAnimate: handleSetAnimate, replay, isAnimating, key, onAnimationComplete }; } exports.useTextAnimate = useTextAnimate; //# sourceMappingURL=use-text-animate.cjs.map