create.mjs 540 B

12345678910111213
  1. import { useContext, useMemo } from 'react';
  2. import { MotionContext } from './index.mjs';
  3. import { getCurrentTreeVariants } from './utils.mjs';
  4. function useCreateMotionContext(props) {
  5. const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
  6. return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
  7. }
  8. function variantLabelsAsDependency(prop) {
  9. return Array.isArray(prop) ? prop.join(" ") : prop;
  10. }
  11. export { useCreateMotionContext };