svelte-motion
Version:
Svelte animation library based on the React library framer-motion.
28 lines (25 loc) • 926 B
JavaScript
/**
based on framer-motion@4.0.3,
Copyright (c) 2018 Framer B.V.
*/
import {fixed} from './fix-process-env';
import { interpolate } from 'popmotion';
var isCustomValueType = function (v) {
return typeof v === "object" && v.mix;
};
var getMixer = function (v) { return (isCustomValueType(v) ? v.mix : undefined); };
function transform() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var useImmediate = !Array.isArray(args[0]);
var argOffset = useImmediate ? 0 : -1;
var inputValue = args[0 + argOffset];
var inputRange = args[1 + argOffset];
var outputRange = args[2 + argOffset];
var options = args[3 + argOffset];
var interpolator = interpolate(inputRange, outputRange, Object.assign({ mixer: getMixer(outputRange[0]) }, options));
return useImmediate ? interpolator(inputValue) : interpolator;
}
export { transform };