UNPKG

framer-motion

Version:

A simple and powerful JavaScript animation library

29 lines (26 loc) 891 B
import { isVariantLabel } from './is-variant-label.mjs'; import { variantProps } from './variant-props.mjs'; const numVariantProps = variantProps.length; function getVariantContext(visualElement) { if (!visualElement) return undefined; if (!visualElement.isControllingVariants) { const context = visualElement.parent ? getVariantContext(visualElement.parent) || {} : {}; if (visualElement.props.initial !== undefined) { context.initial = visualElement.props.initial; } return context; } 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 };