motion-v
Version:
<h1 align="center"> <img width="35" height="35" alt="Motion logo" src="https://github.com/user-attachments/assets/00d6d1c3-72c4-4c2f-a664-69da13182ffc" /><br />Motion for Vue</h1>
19 lines (18 loc) • 601 B
JavaScript
import { useCombineMotionValues } from "./use-combine-values.mjs";
import { isMotionValue } from "motion-dom";
function useMotionTemplate(fragments, ...values) {
const numFragments = fragments.length;
function buildValue() {
let output = "";
for (let i = 0; i < numFragments; i++) {
output += fragments[i];
const value$1 = values[i];
if (value$1) output += isMotionValue(value$1) ? value$1.get() : value$1;
}
return output;
}
const { value, subscribe } = useCombineMotionValues(buildValue);
subscribe(values.filter(isMotionValue));
return value;
}
export { useMotionTemplate };