UNPKG

motion

Version:

The Motion library for the web

28 lines (23 loc) 976 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var framerMotion = require('framer-motion'); var React = require('react'); var poses = require('../utils/poses.cjs.js'); var updateTarget = require('../utils/update-target.cjs.js'); function useExit(target, options, { exit, poses: poses$1 }, { exit: inheritedExit }) { const [isPresent, onExitComplete] = framerMotion.usePresence(); /** * In case we don't have an exit animation defined we still need to * call onExitComplete if it exits so AnimatePresence knows it * can remove this component. */ React.useEffect(() => { if (!exit) onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete(); }, [isPresent]); if (exit && !isPresent) { updateTarget.updateTargetAndOptions(target, options, poses.resolvePose(exit, inheritedExit, poses$1)); return onExitComplete; } } exports.useExit = useExit;