first commit
This commit is contained in:
8
node_modules/motion-utils/dist/es/easing/utils/get-easing-for-segment.mjs
generated
vendored
Normal file
8
node_modules/motion-utils/dist/es/easing/utils/get-easing-for-segment.mjs
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { wrap } from '../../wrap.mjs';
|
||||
import { isEasingArray } from './is-easing-array.mjs';
|
||||
|
||||
function getEasingForSegment(easing, i) {
|
||||
return isEasingArray(easing) ? easing[wrap(0, easing.length, i)] : easing;
|
||||
}
|
||||
|
||||
export { getEasingForSegment };
|
||||
3
node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
generated
vendored
Normal file
3
node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
|
||||
|
||||
export { isBezierDefinition };
|
||||
5
node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
generated
vendored
Normal file
5
node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
const isEasingArray = (ease) => {
|
||||
return Array.isArray(ease) && typeof ease[0] !== "number";
|
||||
};
|
||||
|
||||
export { isEasingArray };
|
||||
41
node_modules/motion-utils/dist/es/easing/utils/map.mjs
generated
vendored
Normal file
41
node_modules/motion-utils/dist/es/easing/utils/map.mjs
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
import { invariant } from '../../errors.mjs';
|
||||
import { noop } from '../../noop.mjs';
|
||||
import { anticipate } from '../anticipate.mjs';
|
||||
import { backIn, backInOut, backOut } from '../back.mjs';
|
||||
import { circIn, circInOut, circOut } from '../circ.mjs';
|
||||
import { cubicBezier } from '../cubic-bezier.mjs';
|
||||
import { easeIn, easeInOut, easeOut } from '../ease.mjs';
|
||||
import { isBezierDefinition } from './is-bezier-definition.mjs';
|
||||
|
||||
const easingLookup = {
|
||||
linear: noop,
|
||||
easeIn,
|
||||
easeInOut,
|
||||
easeOut,
|
||||
circIn,
|
||||
circInOut,
|
||||
circOut,
|
||||
backIn,
|
||||
backInOut,
|
||||
backOut,
|
||||
anticipate,
|
||||
};
|
||||
const isValidEasing = (easing) => {
|
||||
return typeof easing === "string";
|
||||
};
|
||||
const easingDefinitionToFunction = (definition) => {
|
||||
if (isBezierDefinition(definition)) {
|
||||
// If cubic bezier definition, create bezier curve
|
||||
invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`, "cubic-bezier-length");
|
||||
const [x1, y1, x2, y2] = definition;
|
||||
return cubicBezier(x1, y1, x2, y2);
|
||||
}
|
||||
else if (isValidEasing(definition)) {
|
||||
// Else lookup from table
|
||||
invariant(easingLookup[definition] !== undefined, `Invalid easing type '${definition}'`, "invalid-easing-type");
|
||||
return easingLookup[definition];
|
||||
}
|
||||
return definition;
|
||||
};
|
||||
|
||||
export { easingDefinitionToFunction };
|
||||
Reference in New Issue
Block a user