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>
20 lines (19 loc) • 738 B
JavaScript
import { variantProps } from "./variant-props.mjs";
import { isVariantLabel } from "motion-dom";
var numVariantProps = variantProps.length;
function getVariantContext(visualElement) {
if (!visualElement) return void 0;
if (!visualElement.isControllingVariants) {
const context$1 = visualElement.parent ? getVariantContext(visualElement.parent) || {} : {};
if (visualElement.props.initial !== void 0) context$1.initial = visualElement.props.initial;
return context$1;
}
const context = {};
for (let i = 0; i < numVariantProps; i++) {
const name = variantProps[i];
const prop = visualElement.props[name];
if (isVariantLabel(prop) || prop === false) context[name] = prop;
}
return context;
}
export { getVariantContext };