framer-motion 12.7.3 → 12.7.5-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/client.js +1 -1
  3. package/dist/cjs/{create-DwAwaNot.js → create-C7kXmWbI.js} +99 -2828
  4. package/dist/cjs/dom-mini.js +82 -66
  5. package/dist/cjs/dom.js +264 -3000
  6. package/dist/cjs/index.js +163 -218
  7. package/dist/cjs/m.js +13 -170
  8. package/dist/cjs/mini.js +77 -9
  9. package/dist/dom-mini.js +1 -1
  10. package/dist/dom.d.ts +5 -94
  11. package/dist/dom.js +1 -1
  12. package/dist/es/animation/animate/sequence.mjs +1 -1
  13. package/dist/es/animation/animators/waapi/animate-elements.mjs +78 -10
  14. package/dist/es/animation/interfaces/motion-value.mjs +11 -30
  15. package/dist/es/animation/interfaces/visual-element-target.mjs +1 -2
  16. package/dist/es/animation/optimized-appear/store-id.mjs +1 -1
  17. package/dist/es/animation/sequence/create.mjs +2 -5
  18. package/dist/es/animation/sequence/utils/edit.mjs +2 -3
  19. package/dist/es/animation/utils/default-transitions.mjs +1 -1
  20. package/dist/es/animation/utils/stagger.mjs +1 -1
  21. package/dist/es/components/AnimatePresence/PresenceChild.mjs +26 -23
  22. package/dist/es/components/Reorder/utils/check-reorder.mjs +1 -1
  23. package/dist/es/dom.mjs +2 -18
  24. package/dist/es/gestures/drag/VisualElementDragControls.mjs +1 -3
  25. package/dist/es/gestures/drag/utils/constraints.mjs +2 -3
  26. package/dist/es/gestures/focus.mjs +1 -1
  27. package/dist/es/gestures/pan/PanSession.mjs +1 -2
  28. package/dist/es/index.mjs +3 -24
  29. package/dist/es/motion/utils/is-forced-motion-value.mjs +1 -1
  30. package/dist/es/projection/animation/mix-values.mjs +2 -4
  31. package/dist/es/projection/geometry/delta-apply.mjs +1 -1
  32. package/dist/es/projection/geometry/delta-calc.mjs +1 -1
  33. package/dist/es/projection/geometry/delta-remove.mjs +1 -2
  34. package/dist/es/projection/node/create-projection-node.mjs +3 -7
  35. package/dist/es/projection/styles/scale-border-radius.mjs +1 -1
  36. package/dist/es/projection/styles/scale-box-shadow.mjs +1 -2
  37. package/dist/es/projection/styles/scale-correction.mjs +1 -1
  38. package/dist/es/projection.mjs +1 -3
  39. package/dist/es/render/VisualElement.mjs +2 -9
  40. package/dist/es/render/dom/DOMVisualElement.mjs +1 -1
  41. package/dist/es/render/dom/scroll/attach-animation.mjs +17 -0
  42. package/dist/es/render/dom/scroll/attach-function.mjs +23 -0
  43. package/dist/es/render/dom/scroll/index.mjs +6 -82
  44. package/dist/es/render/dom/scroll/offsets/index.mjs +2 -3
  45. package/dist/es/render/dom/scroll/utils/get-timeline.mjs +29 -0
  46. package/dist/es/render/html/HTMLVisualElement.mjs +1 -3
  47. package/dist/es/render/html/utils/build-styles.mjs +1 -4
  48. package/dist/es/render/html/utils/build-transform.mjs +1 -3
  49. package/dist/es/render/svg/SVGVisualElement.mjs +1 -3
  50. package/dist/es/render/svg/config-motion.mjs +1 -2
  51. package/dist/es/render/svg/utils/path.mjs +1 -1
  52. package/dist/es/render/svg/utils/scrape-motion-values.mjs +1 -1
  53. package/dist/es/render/svg/utils/transform-origin.mjs +1 -1
  54. package/dist/es/render/utils/motion-values.mjs +1 -1
  55. package/dist/es/utils/delay.mjs +1 -1
  56. package/dist/es/utils/transform.mjs +1 -1
  57. package/dist/es/utils/use-cycle.mjs +1 -1
  58. package/dist/es/utils/use-instant-transition.mjs +4 -4
  59. package/dist/es/value/use-spring.mjs +2 -3
  60. package/dist/es/value/use-will-change/get-will-change-name.mjs +1 -2
  61. package/dist/framer-motion.dev.js +3881 -3419
  62. package/dist/framer-motion.js +1 -1
  63. package/dist/m.d.ts +3 -50
  64. package/dist/mini.js +1 -1
  65. package/dist/size-rollup-animate.js +1 -1
  66. package/dist/size-rollup-dom-animation-assets.js +1 -1
  67. package/dist/size-rollup-dom-animation.js +1 -1
  68. package/dist/size-rollup-dom-max-assets.js +1 -1
  69. package/dist/size-rollup-dom-max.js +1 -1
  70. package/dist/size-rollup-m.js +1 -1
  71. package/dist/size-rollup-motion.js +1 -1
  72. package/dist/size-rollup-scroll.js +1 -1
  73. package/dist/size-rollup-waapi-animate.js +1 -1
  74. package/dist/types/client.d.ts +4 -3
  75. package/dist/types/index.d.ts +56 -351
  76. package/dist/{types.d-B50aGbjN.d.ts → types.d-B1Voffvi.d.ts} +3 -138
  77. package/package.json +9 -9
  78. package/dist/es/animation/animators/AcceleratedAnimation.mjs +0 -319
  79. package/dist/es/animation/animators/BaseAnimation.mjs +0 -120
  80. package/dist/es/animation/animators/MainThreadAnimation.mjs +0 -394
  81. package/dist/es/animation/animators/drivers/driver-frameloop.mjs +0 -16
  82. package/dist/es/animation/animators/utils/accelerated-values.mjs +0 -14
  83. package/dist/es/animation/animators/utils/can-animate.mjs +0 -42
  84. package/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +0 -5
  85. package/dist/es/animation/generators/inertia.mjs +0 -87
  86. package/dist/es/animation/generators/keyframes.mjs +0 -51
  87. package/dist/es/animation/generators/spring/defaults.mjs +0 -27
  88. package/dist/es/animation/generators/spring/find.mjs +0 -85
  89. package/dist/es/animation/generators/spring/index.mjs +0 -174
  90. package/dist/es/animation/generators/utils/velocity.mjs +0 -9
  91. package/dist/es/animation/utils/is-animatable.mjs +0 -30
  92. package/dist/es/animation/utils/is-none.mjs +0 -15
  93. package/dist/es/easing/anticipate.mjs +0 -5
  94. package/dist/es/easing/back.mjs +0 -9
  95. package/dist/es/easing/circ.mjs +0 -8
  96. package/dist/es/easing/cubic-bezier.mjs +0 -51
  97. package/dist/es/easing/ease.mjs +0 -7
  98. package/dist/es/easing/modifiers/mirror.mjs +0 -5
  99. package/dist/es/easing/modifiers/reverse.mjs +0 -5
  100. package/dist/es/easing/steps.mjs +0 -15
  101. package/dist/es/easing/utils/get-easing-for-segment.mjs +0 -8
  102. package/dist/es/easing/utils/is-easing-array.mjs +0 -5
  103. package/dist/es/easing/utils/map.mjs +0 -37
  104. package/dist/es/render/dom/DOMKeyframesResolver.mjs +0 -130
  105. package/dist/es/render/dom/scroll/observe.mjs +0 -18
  106. package/dist/es/render/dom/utils/css-variables-conversion.mjs +0 -42
  107. package/dist/es/render/dom/utils/is-css-variable.mjs +0 -15
  108. package/dist/es/render/dom/utils/unit-conversion.mjs +0 -36
  109. package/dist/es/render/dom/value-types/animatable-none.mjs +0 -15
  110. package/dist/es/render/dom/value-types/defaults.mjs +0 -30
  111. package/dist/es/render/dom/value-types/dimensions.mjs +0 -15
  112. package/dist/es/render/dom/value-types/find.mjs +0 -15
  113. package/dist/es/render/dom/value-types/get-as-type.mjs +0 -10
  114. package/dist/es/render/dom/value-types/number-browser.mjs +0 -41
  115. package/dist/es/render/dom/value-types/number.mjs +0 -18
  116. package/dist/es/render/dom/value-types/test.mjs +0 -6
  117. package/dist/es/render/dom/value-types/transform.mjs +0 -31
  118. package/dist/es/render/dom/value-types/type-auto.mjs +0 -9
  119. package/dist/es/render/dom/value-types/type-int.mjs +0 -8
  120. package/dist/es/render/html/utils/keys-position.mjs +0 -13
  121. package/dist/es/render/html/utils/keys-transform.mjs +0 -28
  122. package/dist/es/render/html/utils/make-none-animatable.mjs +0 -30
  123. package/dist/es/render/html/utils/parse-transform.mjs +0 -83
  124. package/dist/es/render/utils/KeyframesResolver.mjs +0 -163
  125. package/dist/es/utils/clamp.mjs +0 -9
  126. package/dist/es/utils/hsla-to-rgba.mjs +0 -42
  127. package/dist/es/utils/interpolate.mjs +0 -76
  128. package/dist/es/utils/is-numerical-string.mjs +0 -6
  129. package/dist/es/utils/is-zero-value-string.mjs +0 -6
  130. package/dist/es/utils/mix/color.mjs +0 -47
  131. package/dist/es/utils/mix/complex.mjs +0 -93
  132. package/dist/es/utils/mix/immediate.mjs +0 -5
  133. package/dist/es/utils/mix/index.mjs +0 -14
  134. package/dist/es/utils/mix/number.mjs +0 -26
  135. package/dist/es/utils/mix/visibility.mjs +0 -16
  136. package/dist/es/utils/offsets/default.mjs +0 -9
  137. package/dist/es/utils/offsets/fill.mjs +0 -12
  138. package/dist/es/utils/offsets/time.mjs +0 -5
  139. package/dist/es/utils/pipe.mjs +0 -11
  140. package/dist/es/utils/use-instant-transition-state.mjs +0 -5
  141. package/dist/es/utils/wrap.mjs +0 -6
  142. package/dist/es/value/types/color/hex.mjs +0 -40
  143. package/dist/es/value/types/color/hsla.mjs +0 -22
  144. package/dist/es/value/types/color/index.mjs +0 -27
  145. package/dist/es/value/types/color/rgba.mjs +0 -25
  146. package/dist/es/value/types/color/utils.mjs +0 -29
  147. package/dist/es/value/types/complex/filter.mjs +0 -30
  148. package/dist/es/value/types/complex/index.mjs +0 -91
  149. package/dist/es/value/types/numbers/index.mjs +0 -17
  150. package/dist/es/value/types/numbers/units.mjs +0 -17
  151. package/dist/es/value/types/utils/color-regex.mjs +0 -3
  152. package/dist/es/value/types/utils/float-regex.mjs +0 -3
  153. package/dist/es/value/types/utils/is-nullish.mjs +0 -5
  154. package/dist/es/value/types/utils/sanitize.mjs +0 -5
  155. package/dist/es/value/types/utils/single-color-regex.mjs +0 -3
@@ -13,7 +13,7 @@ function delay(callback, timeout) {
13
13
  callback(elapsed - timeout);
14
14
  }
15
15
  };
16
- frame.read(checkElapsed, true);
16
+ frame.setup(checkElapsed, true);
17
17
  return () => cancelFrame(checkElapsed);
18
18
  }
19
19
  function delayInSeconds(callback, timeout) {
@@ -1,4 +1,4 @@
1
- import { interpolate } from './interpolate.mjs';
1
+ import { interpolate } from 'motion-dom';
2
2
 
3
3
  const isCustomValueType = (v) => {
4
4
  return v && typeof v === "object" && v.mix;
@@ -1,5 +1,5 @@
1
+ import { wrap } from 'motion-utils';
1
2
  import { useRef, useState, useCallback } from 'react';
2
- import { wrap } from './wrap.mjs';
3
3
 
4
4
  /**
5
5
  * Cycles through a series of visual properties. Can be used to toggle between or cycle through animations. It works similar to `useState` in React. It is provided an initial array of possible states, and returns an array of two arguments.
@@ -1,8 +1,8 @@
1
1
  import { frame } from 'motion-dom';
2
+ import { MotionGlobalConfig } from 'motion-utils';
2
3
  import { useRef, useEffect } from 'react';
3
4
  import { useInstantLayoutTransition } from '../projection/use-instant-layout-transition.mjs';
4
5
  import { useForceUpdate } from './use-force-update.mjs';
5
- import { instantAnimationState } from './use-instant-transition-state.mjs';
6
6
 
7
7
  function useInstantTransition() {
8
8
  const [forceUpdate, forcedRenderCount] = useForceUpdate();
@@ -22,12 +22,12 @@ function useInstantTransition() {
22
22
  */
23
23
  if (forcedRenderCount !== unlockOnFrameRef.current)
24
24
  return;
25
- instantAnimationState.current = false;
25
+ MotionGlobalConfig.instantAnimations = false;
26
26
  }));
27
27
  }, [forcedRenderCount]);
28
28
  return (callback) => {
29
29
  startInstantLayoutTransition(() => {
30
- instantAnimationState.current = true;
30
+ MotionGlobalConfig.instantAnimations = true;
31
31
  forceUpdate();
32
32
  callback();
33
33
  unlockOnFrameRef.current = forcedRenderCount + 1;
@@ -35,7 +35,7 @@ function useInstantTransition() {
35
35
  };
36
36
  }
37
37
  function disableInstantTransitions() {
38
- instantAnimationState.current = false;
38
+ MotionGlobalConfig.instantAnimations = false;
39
39
  }
40
40
 
41
41
  export { disableInstantTransitions, useInstantTransition };
@@ -1,7 +1,6 @@
1
- import { frame } from 'motion-dom';
1
+ import { frame, JSAnimation } from 'motion-dom';
2
2
  import { noop } from 'motion-utils';
3
3
  import { useContext, useRef, useInsertionEffect } from 'react';
4
- import { animateValue } from '../animation/animators/MainThreadAnimation.mjs';
5
4
  import { MotionConfigContext } from '../context/MotionConfigContext.mjs';
6
5
  import { useConstant } from '../utils/use-constant.mjs';
7
6
  import { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';
@@ -20,7 +19,7 @@ function useSpring(source, config = {}) {
20
19
  const latestSetter = useRef(noop);
21
20
  const startAnimation = () => {
22
21
  stopAnimation();
23
- activeSpringAnimation.current = animateValue({
22
+ activeSpringAnimation.current = new JSAnimation({
24
23
  keyframes: [asNumber(value.get()), asNumber(latestValue.current)],
25
24
  velocity: value.getVelocity(),
26
25
  type: "spring",
@@ -1,6 +1,5 @@
1
- import { acceleratedValues } from '../../animation/animators/utils/accelerated-values.mjs';
1
+ import { transformProps, acceleratedValues } from 'motion-dom';
2
2
  import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs';
3
- import { transformProps } from '../../render/html/utils/keys-transform.mjs';
4
3
 
5
4
  function getWillChangeName(name) {
6
5
  if (transformProps.has(name)) {