Mission Control Dashboard - Initial implementation
This commit is contained in:
33
node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
generated
vendored
Normal file
33
node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import { isVariantLabel } from './is-variant-label.mjs';
|
||||
import { variantProps } from './variant-props.mjs';
|
||||
|
||||
const numVariantProps = variantProps.length;
|
||||
/**
|
||||
* Get variant context from a visual element's parent chain.
|
||||
* Uses `any` type for visualElement to avoid circular dependencies.
|
||||
*/
|
||||
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 };
|
||||
//# sourceMappingURL=get-variant-context.mjs.map
|
||||
Reference in New Issue
Block a user