UNPKG

svelte-motion

Version:

Svelte animation library based on the React library framer-motion.

43 lines (40 loc) 1.26 kB
/** based on framer-motion@4.0.3, Copyright (c) 2018 Framer B.V. */ var createDefinition = function (propNames) { return ({ isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); }, }); }; var featureDefinitions = { measureLayout: createDefinition(["layout", "layoutId", "drag"]), animation: createDefinition([ "animate", "exit", "variants", "whileHover", "whileTap", "whileFocus", "whileDrag", ]), exit: createDefinition(["exit"]), drag: createDefinition(["drag", "dragControls"]), focus: createDefinition(["whileFocus"]), hover: createDefinition(["whileHover", "onHoverStart", "onHoverEnd"]), tap: createDefinition(["whileTap", "onTap", "onTapStart", "onTapCancel"]), pan: createDefinition([ "onPan", "onPanStart", "onPanSessionStart", "onPanEnd", ]), layoutAnimation: createDefinition(["layout", "layoutId"]), }; function loadFeatures(features) { for (var key in features) { var Component = features[key]; if (Component !== null){ featureDefinitions[key].Component = Component; } } } export { featureDefinitions, loadFeatures };