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>
22 lines (21 loc) • 776 B
JavaScript
import { useCombineMotionValues } from "./use-combine-values.mjs";
import "../external/.pnpm/motion-utils@12.5.0/external/motion-utils/dist/es/errors.mjs";
import { collectMotionValues } from "../external/.pnpm/motion-dom@12.5.0/external/motion-dom/dist/es/value/index.mjs";
import { onBeforeUpdate } from "vue";
function useComputed(computed) {
collectMotionValues.current = [];
const { value, subscribe, unsubscribe } = useCombineMotionValues(computed);
subscribe(collectMotionValues.current);
collectMotionValues.current = void 0;
onBeforeUpdate(() => {
unsubscribe();
collectMotionValues.current = [];
computed();
subscribe(collectMotionValues.current);
collectMotionValues.current = void 0;
});
return value;
}
export {
useComputed
};