Skip to content

Commit

Permalink
feat: add css bezier function
Browse files Browse the repository at this point in the history
  • Loading branch information
saurabhdaware committed Sep 18, 2024
1 parent cfa5f14 commit d24bcdd
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions packages/blade/src/utils/cssBezierToMotionFn.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
const cssBezierToMotionFn = <
X1 extends number,
Y1 extends number,
X2 extends number,
Y2 extends number
>(
cssCubicBezierString: `cubic-bezier(${X1}, ${Y1}, ${X2}, ${Y2})`,
): [X1, Y1, X2, Y2] => {
const indexOfFirstBracket = cssCubicBezierString.indexOf('(');
const indexOfLastBracket = cssCubicBezierString.lastIndexOf(')');
const bezierValuesString = cssCubicBezierString.slice(
indexOfFirstBracket + 1,
indexOfLastBracket,
);
const bezierValuesArray = bezierValuesString.split(',').map((val) => Number(val)) as [
X1,
Y1,
X2,
Y2,
];
return bezierValuesArray;
};

export { cssBezierToMotionFn };

0 comments on commit d24bcdd

Please sign in to comment.