motion-v
Version:
<p align="center"> <img width="100" height="100" alt="Motion logo" src="https://user-images.githubusercontent.com/7850794/164965523-3eced4c4-6020-467e-acde-f11b7900ad62.png" /> </p> <h1 align="center">Motion for Vue</h1>
17 lines (16 loc) • 539 B
JavaScript
import { createContext } from "../utils/createContext.mjs";
const doneCallbacks = /* @__PURE__ */ new WeakMap();
function removeDoneCallback(element) {
const prevDoneCallback = doneCallbacks.get(element);
if (prevDoneCallback) {
element.removeEventListener("motioncomplete", prevDoneCallback);
}
doneCallbacks.delete(element);
}
const [injectAnimatePresence, provideAnimatePresence] = createContext("AnimatePresenceContext");
export {
doneCallbacks,
injectAnimatePresence,
provideAnimatePresence,
removeDoneCallback
};