@hanzogui/animations-motion 4.3.1 → 7.0.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.
- package/dist/cjs/createAnimations.cjs +21 -12
- package/dist/cjs/createAnimations.native.js +25 -12
- package/dist/cjs/createAnimations.native.js.map +1 -1
- package/dist/esm/createAnimations.mjs +21 -12
- package/dist/esm/createAnimations.mjs.map +1 -1
- package/dist/esm/createAnimations.native.js +25 -12
- package/dist/esm/createAnimations.native.js.map +1 -1
- package/package.json +6 -6
- package/src/createAnimations.tsx +58 -16
- package/types/createAnimations.d.ts.map +2 -2
|
@@ -51,6 +51,13 @@ function useAnimateSSRSafe() {
|
|
|
51
51
|
return (0, import_react.useAnimate)();
|
|
52
52
|
}
|
|
53
53
|
const MotionValueStrategy = /* @__PURE__ */new WeakMap();
|
|
54
|
+
const PendingMotionOnFinish = /* @__PURE__ */new WeakMap();
|
|
55
|
+
function settlePendingMotionOnFinish(mv, controls) {
|
|
56
|
+
const onFinish = PendingMotionOnFinish.get(mv);
|
|
57
|
+
if (!onFinish) return;
|
|
58
|
+
PendingMotionOnFinish.delete(mv);
|
|
59
|
+
controls.then(() => onFinish()).catch(() => onFinish());
|
|
60
|
+
}
|
|
54
61
|
function createAnimations(animations) {
|
|
55
62
|
let isHydratingGlobal;
|
|
56
63
|
const hydratingComponents = /* @__PURE__ */new Set();
|
|
@@ -365,18 +372,18 @@ function createAnimations(animations) {
|
|
|
365
372
|
});
|
|
366
373
|
motionValue.set(next);
|
|
367
374
|
onFinish?.();
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
});
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
MotionValueStrategy.set(motionValue, config);
|
|
378
|
+
if (onFinish) {
|
|
379
|
+
const prior = PendingMotionOnFinish.get(motionValue);
|
|
380
|
+
if (prior) {
|
|
381
|
+
PendingMotionOnFinish.delete(motionValue);
|
|
382
|
+
prior();
|
|
377
383
|
}
|
|
378
|
-
|
|
384
|
+
PendingMotionOnFinish.set(motionValue, onFinish);
|
|
379
385
|
}
|
|
386
|
+
motionValue.set(next);
|
|
380
387
|
},
|
|
381
388
|
stop() {
|
|
382
389
|
motionValue.stop();
|
|
@@ -613,7 +620,8 @@ function createMotionView(defaultTag) {
|
|
|
613
620
|
type: "spring",
|
|
614
621
|
...animationConfig
|
|
615
622
|
};
|
|
616
|
-
animate(node, webStyle, motionAnimationConfig);
|
|
623
|
+
const controls = animate(node, webStyle, motionAnimationConfig);
|
|
624
|
+
settlePendingMotionOnFinish(mv, controls);
|
|
617
625
|
}
|
|
618
626
|
}));
|
|
619
627
|
return () => unsubs.forEach(fn => fn());
|
|
@@ -637,7 +645,8 @@ function createMotionView(defaultTag) {
|
|
|
637
645
|
type: "spring",
|
|
638
646
|
...animationConfig
|
|
639
647
|
};
|
|
640
|
-
animate(node, webStyle, motionAnimationConfig);
|
|
648
|
+
const controls = animate(node, webStyle, motionAnimationConfig);
|
|
649
|
+
settlePendingMotionOnFinish(animatedStyle.motionValue, controls);
|
|
641
650
|
}
|
|
642
651
|
});
|
|
643
652
|
}, [animatedStyle]);
|
|
@@ -65,6 +65,17 @@ function useAnimateSSRSafe() {
|
|
|
65
65
|
return (0, import_react.useAnimate)();
|
|
66
66
|
}
|
|
67
67
|
var MotionValueStrategy = /* @__PURE__ */new WeakMap();
|
|
68
|
+
var PendingMotionOnFinish = /* @__PURE__ */new WeakMap();
|
|
69
|
+
function settlePendingMotionOnFinish(mv, controls) {
|
|
70
|
+
var onFinish = PendingMotionOnFinish.get(mv);
|
|
71
|
+
if (!onFinish) return;
|
|
72
|
+
PendingMotionOnFinish.delete(mv);
|
|
73
|
+
controls.then(function () {
|
|
74
|
+
return onFinish();
|
|
75
|
+
}).catch(function () {
|
|
76
|
+
return onFinish();
|
|
77
|
+
});
|
|
78
|
+
}
|
|
68
79
|
function createAnimations(animations) {
|
|
69
80
|
var isHydratingGlobal;
|
|
70
81
|
var hydratingComponents = /* @__PURE__ */new Set();
|
|
@@ -405,18 +416,18 @@ function createAnimations(animations) {
|
|
|
405
416
|
});
|
|
406
417
|
motionValue.set(next);
|
|
407
418
|
onFinish === null || onFinish === void 0 ? void 0 : onFinish();
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
});
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
MotionValueStrategy.set(motionValue, config);
|
|
422
|
+
if (onFinish) {
|
|
423
|
+
var prior = PendingMotionOnFinish.get(motionValue);
|
|
424
|
+
if (prior) {
|
|
425
|
+
PendingMotionOnFinish.delete(motionValue);
|
|
426
|
+
prior();
|
|
417
427
|
}
|
|
418
|
-
|
|
428
|
+
PendingMotionOnFinish.set(motionValue, onFinish);
|
|
419
429
|
}
|
|
430
|
+
motionValue.set(next);
|
|
420
431
|
},
|
|
421
432
|
stop() {
|
|
422
433
|
motionValue.stop();
|
|
@@ -708,7 +719,8 @@ function createMotionView(defaultTag) {
|
|
|
708
719
|
type: "spring",
|
|
709
720
|
...animationConfig
|
|
710
721
|
};
|
|
711
|
-
animate(node, webStyle, motionAnimationConfig);
|
|
722
|
+
var controls = animate(node, webStyle, motionAnimationConfig);
|
|
723
|
+
settlePendingMotionOnFinish(mv, controls);
|
|
712
724
|
}
|
|
713
725
|
});
|
|
714
726
|
});
|
|
@@ -737,7 +749,8 @@ function createMotionView(defaultTag) {
|
|
|
737
749
|
type: "spring",
|
|
738
750
|
...animationConfig
|
|
739
751
|
};
|
|
740
|
-
animate(node, webStyle, motionAnimationConfig);
|
|
752
|
+
var controls = animate(node, webStyle, motionAnimationConfig);
|
|
753
|
+
settlePendingMotionOnFinish(animatedStyle.motionValue, controls);
|
|
741
754
|
}
|
|
742
755
|
});
|
|
743
756
|
}, [animatedStyle]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createAnimations_exports","__export","createAnimations","disableAnimationProps","module","exports","import_jsx_runtime","require","import_animation_helpers","import_use_presence","import_web","import_react","import_react2","__toESM","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","isServer","window","useAnimateSSRSafe","useRef","useAnimate","MotionValueStrategy","WeakMap","animations","isHydratingGlobal","hydratingComponents","Set","View","MotionView","Text","MotionText","isReactNative","inputStyle","outputStyle","avoidReRenders","usePresence","ResetPresence","onMount","forEach","cb","useAnimations","animationProps","getConfig","settings","disableSSR","props","style","componentState","stateRef","useStyleEmitter","presence","animationKey","Array","isArray","transition","isComponentHydrating","unmounted","isMounting","isEntering","isExiting","sendExitComplete","refs","current","isFirstRender","lastDoAnimate","lastDontAnimate","controls","lastAnimateAt","disposed","wasExiting","animationState","frozenExitTarget","exitCompleteScheduled","wasEntering","justFinishedEntering","useEffect","disableAnimation","scope","animate","justStartedExiting","justStoppedExiting","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","firstRenderStyle","useState","isHydrating","setIsHydrating","useLayoutEffect","add","flushAnimation","param","doAnimateRaw","passedOptions","dontAnimate2","startedControls","isCurrentlyExiting","currentSendExitComplete","doAnimate2","_props_transition","animationOptions2","getAnimationOptions","node","host","process","env","NODE_ENV","console","groupCollapsed","JSON","stringify","getDiff","info","trace","groupEnd","HTMLElement","prevDont","removeRemovedStyles","changed","Object","assign","key","lastAnimated","diff","isPopperPosition","hasAttribute","midFlightValues","computed","getComputedStyle","key1","val","e","stop","key2","anims","getAnimations","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","anim","cancel","err","return","fixedDiff","fixTransparentColors","transform","Date","now","finished","then","catch","nextStyle","effectiveTransition","_$animationProps","useIsomorphicLayoutEffect","keys","length","ref","render","useAnimatedNumber","initial","motionValue","useMotionValue","default","useMemo","getInstance","getValue","get","setValue","config","arguments","type","onFinish","set","unsubscribe","on","Math","abs","useAnimatedNumberReaction","onValue","instance","useMotionValueEvent","useAnimatedNumberStyle","getStyleProp","getStyleRef","getStyle","cur","useAnimatedNumbersStyle","vals","motionValues","map","v","_len","currentValues","_key","disable","transitionOverride","_ref","animateOnly","has","includes","transitionProp","normalized","normalizeTransition","effectiveKey","getEffectiveAnimation","enter","exit","globalConfigOverride","properties","defaultConfig","withInferredType","delay","result","duration","damping","stiffness","mass","entries","propName","animationNameOrConfig","baseConfig","convertMsToS","isTimingBased","prev","dontClearIfIn","createMotionView","defaultTag","isText","Component","forwardRef","propsIn","_hooks_usePropsTransform","forwardedRef","animation","propsRest","hostRef","composedRefs","useComposedRefs","_","state","useThemeWithState","styles","animatedStyle","nonAnimatedStyles","animatedStyle2","nonAnimatedStyles2","style2","push","getProps","props2","out","getSplitStyles","staticConfig","theme","name"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createAnimations_exports","__export","createAnimations","disableAnimationProps","module","exports","import_jsx_runtime","require","import_animation_helpers","import_use_presence","import_web","import_react","import_react2","__toESM","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","isServer","window","useAnimateSSRSafe","useRef","useAnimate","MotionValueStrategy","WeakMap","PendingMotionOnFinish","settlePendingMotionOnFinish","mv","controls","onFinish","get","delete","then","catch","animations","isHydratingGlobal","hydratingComponents","Set","View","MotionView","Text","MotionText","isReactNative","inputStyle","outputStyle","avoidReRenders","usePresence","ResetPresence","onMount","forEach","cb","useAnimations","animationProps","getConfig","settings","disableSSR","props","style","componentState","stateRef","useStyleEmitter","presence","animationKey","Array","isArray","transition","isComponentHydrating","unmounted","isMounting","isEntering","isExiting","sendExitComplete","refs","current","isFirstRender","lastDoAnimate","lastDontAnimate","lastAnimateAt","disposed","wasExiting","animationState","frozenExitTarget","exitCompleteScheduled","wasEntering","justFinishedEntering","useEffect","disableAnimation","scope","animate","justStartedExiting","justStoppedExiting","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","firstRenderStyle","useState","isHydrating","setIsHydrating","useLayoutEffect","add","flushAnimation","param","doAnimateRaw","passedOptions","dontAnimate2","startedControls","isCurrentlyExiting","currentSendExitComplete","doAnimate2","_props_transition","animationOptions2","getAnimationOptions","node","host","process","env","NODE_ENV","console","groupCollapsed","JSON","stringify","getDiff","info","trace","groupEnd","HTMLElement","prevDont","removeRemovedStyles","changed","Object","assign","key","lastAnimated","diff","isPopperPosition","hasAttribute","midFlightValues","computed","getComputedStyle","key1","val","e","stop","key2","anims","getAnimations","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","anim","cancel","err","return","fixedDiff","fixTransparentColors","transform","Date","now","finished","nextStyle","effectiveTransition","_$animationProps","useIsomorphicLayoutEffect","keys","length","ref","render","useAnimatedNumber","initial","motionValue","useMotionValue","default","useMemo","getInstance","getValue","setValue","config","arguments","type","set","prior","useAnimatedNumberReaction","onValue","instance","useMotionValueEvent","useAnimatedNumberStyle","getStyleProp","getStyleRef","getStyle","cur","useAnimatedNumbersStyle","vals","motionValues","map","v","_len","currentValues","_key","disable","transitionOverride","_ref","animateOnly","has","includes","transitionProp","normalized","normalizeTransition","effectiveKey","getEffectiveAnimation","enter","exit","globalConfigOverride","properties","defaultConfig","withInferredType","delay","result","duration","damping","stiffness","mass","entries","propName","animationNameOrConfig","baseConfig","convertMsToS","isTimingBased","prev","dontClearIfIn","createMotionView","defaultTag","isText","Component","forwardRef","propsIn","_hooks_usePropsTransform","forwardedRef","animation","propsRest","hostRef","composedRefs","useComposedRefs","_","state","useThemeWithState","styles","animatedStyle","nonAnimatedStyles","animatedStyle2","nonAnimatedStyles2","style2","push"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -12,6 +12,13 @@ function useAnimateSSRSafe() {
|
|
|
12
12
|
return useAnimate();
|
|
13
13
|
}
|
|
14
14
|
const MotionValueStrategy = /* @__PURE__ */new WeakMap();
|
|
15
|
+
const PendingMotionOnFinish = /* @__PURE__ */new WeakMap();
|
|
16
|
+
function settlePendingMotionOnFinish(mv, controls) {
|
|
17
|
+
const onFinish = PendingMotionOnFinish.get(mv);
|
|
18
|
+
if (!onFinish) return;
|
|
19
|
+
PendingMotionOnFinish.delete(mv);
|
|
20
|
+
controls.then(() => onFinish()).catch(() => onFinish());
|
|
21
|
+
}
|
|
15
22
|
function createAnimations(animations) {
|
|
16
23
|
let isHydratingGlobal;
|
|
17
24
|
const hydratingComponents = /* @__PURE__ */new Set();
|
|
@@ -326,18 +333,18 @@ function createAnimations(animations) {
|
|
|
326
333
|
});
|
|
327
334
|
motionValue.set(next);
|
|
328
335
|
onFinish?.();
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
});
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
MotionValueStrategy.set(motionValue, config);
|
|
339
|
+
if (onFinish) {
|
|
340
|
+
const prior = PendingMotionOnFinish.get(motionValue);
|
|
341
|
+
if (prior) {
|
|
342
|
+
PendingMotionOnFinish.delete(motionValue);
|
|
343
|
+
prior();
|
|
338
344
|
}
|
|
339
|
-
|
|
345
|
+
PendingMotionOnFinish.set(motionValue, onFinish);
|
|
340
346
|
}
|
|
347
|
+
motionValue.set(next);
|
|
341
348
|
},
|
|
342
349
|
stop() {
|
|
343
350
|
motionValue.stop();
|
|
@@ -574,7 +581,8 @@ function createMotionView(defaultTag) {
|
|
|
574
581
|
type: "spring",
|
|
575
582
|
...animationConfig
|
|
576
583
|
};
|
|
577
|
-
animate(node, webStyle, motionAnimationConfig);
|
|
584
|
+
const controls = animate(node, webStyle, motionAnimationConfig);
|
|
585
|
+
settlePendingMotionOnFinish(mv, controls);
|
|
578
586
|
}
|
|
579
587
|
}));
|
|
580
588
|
return () => unsubs.forEach(fn => fn());
|
|
@@ -598,7 +606,8 @@ function createMotionView(defaultTag) {
|
|
|
598
606
|
type: "spring",
|
|
599
607
|
...animationConfig
|
|
600
608
|
};
|
|
601
|
-
animate(node, webStyle, motionAnimationConfig);
|
|
609
|
+
const controls = animate(node, webStyle, motionAnimationConfig);
|
|
610
|
+
settlePendingMotionOnFinish(animatedStyle.motionValue, controls);
|
|
602
611
|
}
|
|
603
612
|
});
|
|
604
613
|
}, [animatedStyle]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getEffectiveAnimation","normalizeTransition","ResetPresence","usePresence","fixStyles","getConfig","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useIsomorphicLayoutEffect","useThemeWithState","View","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","useState","jsx","isServer","window","useAnimateSSRSafe","MotionValueStrategy","WeakMap","createAnimations","animations","isHydratingGlobal","hydratingComponents","Set","MotionView","MotionText","isReactNative","inputStyle","outputStyle","avoidReRenders","onMount","forEach","cb","useAnimations","animationProps","settings","disableSSR","props","style","componentState","stateRef","useStyleEmitter","presence","animationKey","Array","isArray","transition","isComponentHydrating","unmounted","isMounting","isEntering","isExiting","sendExitComplete","refs","current","isFirstRender","lastDoAnimate","lastDontAnimate","controls","lastAnimateAt","disposed","wasExiting","animationState","frozenExitTarget","exitCompleteScheduled","wasEntering","justFinishedEntering","disableAnimation","scope","animate","justStartedExiting","justStoppedExiting","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","firstRenderStyle","isHydrating","setIsHydrating","add","flushAnimation","doAnimateRaw","passedOptions","dontAnimate2","startedControls","isCurrentlyExiting","currentSendExitComplete","doAnimate2","animationOptions2","getAnimationOptions","node","host","process","env","NODE_ENV","console","groupCollapsed","JSON","stringify","getDiff","info","trace","groupEnd","HTMLElement","prevDont","removeRemovedStyles","changed","Object","assign","key","lastAnimated","diff","isPopperPosition","hasAttribute","midFlightValues","computed","getComputedStyle","val","stop","anims","getAnimations","anim","cancel","fixedDiff","fixTransparentColors","transform","Date","now","finished","then","catch","nextStyle","effectiveTransition","animationProps2","keys","length","ref","render","useAnimatedNumber","initial","motionValue","getInstance","getValue","get","setValue","next","config","type","onFinish","set","unsubscribe","on","value","Math","abs","useAnimatedNumberReaction","onValue","instance","useAnimatedNumberStyle","getStyleProp","getStyleRef","getStyle","cur","useAnimatedNumbersStyle","vals","motionValues","map","v","currentValues","disable","transitionOverride","animateOnly","disableAnimationProps","has","includes","transitionProp","normalized","effectiveKey","enter","exit","globalConfigOverride","properties","defaultConfig","withInferredType","delay","result","duration","damping","stiffness","mass","default","propName","animationNameOrConfig","entries","baseConfig","convertMsToS","isTimingBased","prev","dontClearIfIn","createMotionView","defaultTag","isText","Component","propsIn","forwardedRef","animation","propsRest","hostRef","composedRefs","_","state","styles","animatedStyle","nonAnimatedStyles","animatedStyle2","nonAnimatedStyles2","style2","push","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element","transformedProps","usePropsTransform","mvs","unsubs","mv","animationConfig","webStyle","motionAnimationConfig","fn","previous","fixed","candidates","candidate","rgbaMatch","match"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getEffectiveAnimation","normalizeTransition","ResetPresence","usePresence","fixStyles","getConfig","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useIsomorphicLayoutEffect","useThemeWithState","View","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","useState","jsx","isServer","window","useAnimateSSRSafe","MotionValueStrategy","WeakMap","PendingMotionOnFinish","settlePendingMotionOnFinish","mv","controls","onFinish","get","delete","then","catch","createAnimations","animations","isHydratingGlobal","hydratingComponents","Set","MotionView","MotionText","isReactNative","inputStyle","outputStyle","avoidReRenders","onMount","forEach","cb","useAnimations","animationProps","settings","disableSSR","props","style","componentState","stateRef","useStyleEmitter","presence","animationKey","Array","isArray","transition","isComponentHydrating","unmounted","isMounting","isEntering","isExiting","sendExitComplete","refs","current","isFirstRender","lastDoAnimate","lastDontAnimate","lastAnimateAt","disposed","wasExiting","animationState","frozenExitTarget","exitCompleteScheduled","wasEntering","justFinishedEntering","disableAnimation","scope","animate","justStartedExiting","justStoppedExiting","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","firstRenderStyle","isHydrating","setIsHydrating","add","flushAnimation","doAnimateRaw","passedOptions","dontAnimate2","startedControls","isCurrentlyExiting","currentSendExitComplete","doAnimate2","animationOptions2","getAnimationOptions","node","host","process","env","NODE_ENV","console","groupCollapsed","JSON","stringify","getDiff","info","trace","groupEnd","HTMLElement","prevDont","removeRemovedStyles","changed","Object","assign","key","lastAnimated","diff","isPopperPosition","hasAttribute","midFlightValues","computed","getComputedStyle","val","stop","anims","getAnimations","anim","cancel","fixedDiff","fixTransparentColors","transform","Date","now","finished","nextStyle","effectiveTransition","animationProps2","keys","length","ref","render","useAnimatedNumber","initial","motionValue","getInstance","getValue","setValue","next","config","type","set","prior","useAnimatedNumberReaction","value","onValue","instance","useAnimatedNumberStyle","getStyleProp","getStyleRef","getStyle","cur","useAnimatedNumbersStyle","vals","motionValues","map","v","currentValues","disable","transitionOverride","animateOnly","disableAnimationProps","has","includes","transitionProp","normalized","effectiveKey","enter","exit","globalConfigOverride","properties","defaultConfig","withInferredType","delay","result","duration","damping","stiffness","mass","default","propName","animationNameOrConfig","entries","baseConfig","convertMsToS","isTimingBased","prev","dontClearIfIn","createMotionView","defaultTag","isText","Component","propsIn","forwardedRef","animation","propsRest","hostRef","composedRefs","_","state","styles","animatedStyle","nonAnimatedStyles","animatedStyle2","nonAnimatedStyles2","style2","push","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element","transformedProps","usePropsTransform","mvs","unsubs","on","animationConfig","webStyle","motionAnimationConfig","fn","previous","fixed","candidates","candidate","rgbaMatch","match"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,17 @@ function useAnimateSSRSafe() {
|
|
|
24
24
|
return useAnimate();
|
|
25
25
|
}
|
|
26
26
|
var MotionValueStrategy = /* @__PURE__ */new WeakMap();
|
|
27
|
+
var PendingMotionOnFinish = /* @__PURE__ */new WeakMap();
|
|
28
|
+
function settlePendingMotionOnFinish(mv, controls) {
|
|
29
|
+
var onFinish = PendingMotionOnFinish.get(mv);
|
|
30
|
+
if (!onFinish) return;
|
|
31
|
+
PendingMotionOnFinish.delete(mv);
|
|
32
|
+
controls.then(function () {
|
|
33
|
+
return onFinish();
|
|
34
|
+
}).catch(function () {
|
|
35
|
+
return onFinish();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
27
38
|
function createAnimations(animations) {
|
|
28
39
|
var isHydratingGlobal;
|
|
29
40
|
var hydratingComponents = /* @__PURE__ */new Set();
|
|
@@ -364,18 +375,18 @@ function createAnimations(animations) {
|
|
|
364
375
|
});
|
|
365
376
|
motionValue.set(next);
|
|
366
377
|
onFinish === null || onFinish === void 0 ? void 0 : onFinish();
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
});
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
380
|
+
MotionValueStrategy.set(motionValue, config);
|
|
381
|
+
if (onFinish) {
|
|
382
|
+
var prior = PendingMotionOnFinish.get(motionValue);
|
|
383
|
+
if (prior) {
|
|
384
|
+
PendingMotionOnFinish.delete(motionValue);
|
|
385
|
+
prior();
|
|
376
386
|
}
|
|
377
|
-
|
|
387
|
+
PendingMotionOnFinish.set(motionValue, onFinish);
|
|
378
388
|
}
|
|
389
|
+
motionValue.set(next);
|
|
379
390
|
},
|
|
380
391
|
stop() {
|
|
381
392
|
motionValue.stop();
|
|
@@ -667,7 +678,8 @@ function createMotionView(defaultTag) {
|
|
|
667
678
|
type: "spring",
|
|
668
679
|
...animationConfig
|
|
669
680
|
};
|
|
670
|
-
animate(node, webStyle, motionAnimationConfig);
|
|
681
|
+
var controls = animate(node, webStyle, motionAnimationConfig);
|
|
682
|
+
settlePendingMotionOnFinish(mv, controls);
|
|
671
683
|
}
|
|
672
684
|
});
|
|
673
685
|
});
|
|
@@ -696,7 +708,8 @@ function createMotionView(defaultTag) {
|
|
|
696
708
|
type: "spring",
|
|
697
709
|
...animationConfig
|
|
698
710
|
};
|
|
699
|
-
animate(node, webStyle, motionAnimationConfig);
|
|
711
|
+
var controls = animate(node, webStyle, motionAnimationConfig);
|
|
712
|
+
settlePendingMotionOnFinish(animatedStyle.motionValue, controls);
|
|
700
713
|
}
|
|
701
714
|
});
|
|
702
715
|
}, [animatedStyle]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","getEffectiveAnimation","normalizeTransition","ResetPresence","usePresence","fixStyles","getConfig","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useIsomorphicLayoutEffect","useThemeWithState","View","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","useState","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","isServer","window","useAnimateSSRSafe","MotionValueStrategy","WeakMap","createAnimations","animations","isHydratingGlobal","hydratingComponents","Set","MotionView","MotionText","isReactNative","inputStyle","outputStyle","avoidReRenders","onMount","forEach","cb","useAnimations","animationProps","settings","disableSSR","props","style","componentState","stateRef","useStyleEmitter","presence","animationKey","Array","isArray","transition","isComponentHydrating","unmounted","isMounting","isEntering","isExiting","sendExitComplete","refs","current","isFirstRender","lastDoAnimate","lastDontAnimate","controls","lastAnimateAt","disposed","wasExiting","animationState","frozenExitTarget","exitCompleteScheduled","wasEntering","justFinishedEntering","disableAnimation","scope","animate","justStartedExiting","justStoppedExiting","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","firstRenderStyle","isHydrating","setIsHydrating","add","flushAnimation","param","doAnimateRaw","passedOptions","dontAnimate2","startedControls","isCurrentlyExiting","currentSendExitComplete","doAnimate2","_props_transition","animationOptions2","getAnimationOptions","node","host","process","env","NODE_ENV","console","groupCollapsed","JSON","stringify","getDiff","info","trace","groupEnd","HTMLElement","prevDont","removeRemovedStyles","changed","Object","assign","key","lastAnimated","diff","isPopperPosition","hasAttribute","midFlightValues","computed","getComputedStyle","key1","val","e","stop","key2","anims","getAnimations","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","anim","value","cancel","err","return","fixedDiff","fixTransparentColors","transform","Date","now","finished","then","catch","nextStyle","effectiveTransition","_$animationProps","keys","length","ref","render","useAnimatedNumber","initial","motionValue","getInstance","getValue","get","setValue","config","arguments","type","onFinish","set","unsubscribe","on","Math","abs","useAnimatedNumberReaction","onValue","instance","useAnimatedNumberStyle","getStyleProp","getStyleRef","getStyle","cur","useAnimatedNumbersStyle","vals","motionValues","map","v","_len","currentValues","_key","disable","transitionOverride","_ref","animateOnly","disableAnimationProps","has","includes","transitionProp","normalized","effectiveKey","enter","exit","globalConfigOverride","properties","defaultConfig","withInferredType","delay","result","duration","damping","stiffness","mass","default","entries","propName","animationNameOrConfig","baseConfig","convertMsToS","isTimingBased","prev","dontClearIfIn","createMotionView","defaultTag","isText","Component","propsIn","_hooks_usePropsTransform","forwardedRef","animation","propsRest","hostRef","composedRefs","_","state","styles","animatedStyle","nonAnimatedStyles","animatedStyle2","nonAnimatedStyles2","style2","push","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element","transformedProps","usePropsTransform","call"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","getEffectiveAnimation","normalizeTransition","ResetPresence","usePresence","fixStyles","getConfig","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useIsomorphicLayoutEffect","useThemeWithState","View","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","useState","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","isServer","window","useAnimateSSRSafe","MotionValueStrategy","WeakMap","PendingMotionOnFinish","settlePendingMotionOnFinish","mv","controls","onFinish","get","delete","then","catch","createAnimations","animations","isHydratingGlobal","hydratingComponents","Set","MotionView","MotionText","isReactNative","inputStyle","outputStyle","avoidReRenders","onMount","forEach","cb","useAnimations","animationProps","settings","disableSSR","props","style","componentState","stateRef","useStyleEmitter","presence","animationKey","Array","isArray","transition","isComponentHydrating","unmounted","isMounting","isEntering","isExiting","sendExitComplete","refs","current","isFirstRender","lastDoAnimate","lastDontAnimate","lastAnimateAt","disposed","wasExiting","animationState","frozenExitTarget","exitCompleteScheduled","wasEntering","justFinishedEntering","disableAnimation","scope","animate","justStartedExiting","justStoppedExiting","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","firstRenderStyle","isHydrating","setIsHydrating","add","flushAnimation","param","doAnimateRaw","passedOptions","dontAnimate2","startedControls","isCurrentlyExiting","currentSendExitComplete","doAnimate2","_props_transition","animationOptions2","getAnimationOptions","node","host","process","env","NODE_ENV","console","groupCollapsed","JSON","stringify","getDiff","info","trace","groupEnd","HTMLElement","prevDont","removeRemovedStyles","changed","Object","assign","key","lastAnimated","diff","isPopperPosition","hasAttribute","midFlightValues","computed","getComputedStyle","key1","val","e","stop","key2","anims","getAnimations","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","anim","value","cancel","err","return","fixedDiff","fixTransparentColors","transform","Date","now","finished","nextStyle","effectiveTransition","_$animationProps","keys","length","ref","render","useAnimatedNumber","initial","motionValue","getInstance","getValue","setValue","config","arguments","type","set","prior","useAnimatedNumberReaction","onValue","instance","useAnimatedNumberStyle","getStyleProp","getStyleRef","getStyle","cur","useAnimatedNumbersStyle","vals","motionValues","map","v","_len","currentValues","_key","disable","transitionOverride","_ref","animateOnly","disableAnimationProps","has","includes","transitionProp","normalized","effectiveKey","enter","exit","globalConfigOverride","properties","defaultConfig","withInferredType","delay","result","duration","damping","stiffness","mass","default","entries","propName","animationNameOrConfig","baseConfig","convertMsToS","isTimingBased","prev","dontClearIfIn","createMotionView","defaultTag","isText","Component","propsIn","_hooks_usePropsTransform","forwardedRef","animation","propsRest","hostRef","composedRefs","_","state","styles","animatedStyle","nonAnimatedStyles","animatedStyle2","nonAnimatedStyles2","style2","push","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzogui/animations-motion",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"files": [
|
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
"clean:build": "hanzo-gui-build clean:build"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@hanzogui/animation-helpers": "
|
|
42
|
-
"@hanzogui/use-presence": "
|
|
43
|
-
"@hanzogui/web": "
|
|
41
|
+
"@hanzogui/animation-helpers": "^7.0.0",
|
|
42
|
+
"@hanzogui/use-presence": "^7.0.0",
|
|
43
|
+
"@hanzogui/web": "^7.0.0",
|
|
44
44
|
"motion": ">=12.35.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@hanzogui/build": "
|
|
47
|
+
"@hanzogui/build": "^7.0.0",
|
|
48
48
|
"react": ">=19"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"react": ">=19"
|
|
52
52
|
}
|
|
53
|
-
}
|
|
53
|
+
}
|
package/src/createAnimations.tsx
CHANGED
|
@@ -66,6 +66,27 @@ type TransitionAnimationOptions = AnimationOptions & {
|
|
|
66
66
|
|
|
67
67
|
const MotionValueStrategy = new WeakMap<MotionValue, AnimatedNumberStrategy>()
|
|
68
68
|
|
|
69
|
+
// pending setValue onFinish callbacks, keyed by motion value. setValue stores
|
|
70
|
+
// the callback here; the change handler in the animated component's useEffect
|
|
71
|
+
// consumes it by chaining to the DOM-level animate() controls so onFinish
|
|
72
|
+
// fires when the *visible* animation actually completes.
|
|
73
|
+
const PendingMotionOnFinish = new WeakMap<MotionValue, () => void>()
|
|
74
|
+
|
|
75
|
+
function settlePendingMotionOnFinish(
|
|
76
|
+
mv: MotionValue,
|
|
77
|
+
controls: AnimationPlaybackControlsWithThen
|
|
78
|
+
) {
|
|
79
|
+
const onFinish = PendingMotionOnFinish.get(mv)
|
|
80
|
+
if (!onFinish) return
|
|
81
|
+
PendingMotionOnFinish.delete(mv)
|
|
82
|
+
// chain to the DOM animation's completion. settle on both resolve and
|
|
83
|
+
// reject — a rejection means the animation was cancelled by a later
|
|
84
|
+
// setValue, and the caller still needs a completion signal. use the
|
|
85
|
+
// real Promise interface (.then().catch()) because framer-motion types
|
|
86
|
+
// the .then() callbacks as VoidFunction with no error arg.
|
|
87
|
+
controls.then(() => onFinish()).catch(() => onFinish())
|
|
88
|
+
}
|
|
89
|
+
|
|
69
90
|
type AnimationProps = {
|
|
70
91
|
doAnimate?: Record<string, unknown>
|
|
71
92
|
dontAnimate?: Record<string, unknown>
|
|
@@ -501,25 +522,44 @@ export function createAnimations<A extends Record<string, AnimationConfig>>(
|
|
|
501
522
|
},
|
|
502
523
|
setValue(next, config = { type: 'spring' }, onFinish) {
|
|
503
524
|
if (config.type === 'direct') {
|
|
504
|
-
MotionValueStrategy.set(motionValue, {
|
|
505
|
-
type: 'direct',
|
|
506
|
-
})
|
|
525
|
+
MotionValueStrategy.set(motionValue, { type: 'direct' })
|
|
507
526
|
motionValue.set(next)
|
|
508
527
|
onFinish?.()
|
|
509
|
-
|
|
510
|
-
|
|
528
|
+
return
|
|
529
|
+
}
|
|
511
530
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
531
|
+
MotionValueStrategy.set(motionValue, config)
|
|
532
|
+
|
|
533
|
+
// we intentionally DO NOT animate the motion value itself here
|
|
534
|
+
// (via framer-motion's imperative animate(motionValue, next)).
|
|
535
|
+
// doing so drives the JS value over time, which fires a 'change'
|
|
536
|
+
// event per frame, and each change event kicks off a new DOM
|
|
537
|
+
// animate(node, ...) that cancels the previous one — the DOM
|
|
538
|
+
// never reaches the target (double-animation stall).
|
|
539
|
+
//
|
|
540
|
+
// instead we jump the motion value to `next` synchronously. the
|
|
541
|
+
// animated component's change handler receives a single change
|
|
542
|
+
// event, computes the final webStyle, and drives the visible
|
|
543
|
+
// animation via DOM animate(node, webStyle, springConfig). that
|
|
544
|
+
// DOM animation is the real timing source.
|
|
545
|
+
//
|
|
546
|
+
// to make `onFinish` resolve when the VISIBLE animation finishes
|
|
547
|
+
// (not synchronously on the change event), we stash it in
|
|
548
|
+
// PendingMotionOnFinish here and the change handler chains it to
|
|
549
|
+
// the DOM animate() controls.
|
|
550
|
+
if (onFinish) {
|
|
551
|
+
// if a previous setValue is still pending on this motion value,
|
|
552
|
+
// fire it now — the new setValue will cancel the prior DOM
|
|
553
|
+
// animation, and the caller is still owed a completion signal.
|
|
554
|
+
const prior = PendingMotionOnFinish.get(motionValue)
|
|
555
|
+
if (prior) {
|
|
556
|
+
PendingMotionOnFinish.delete(motionValue)
|
|
557
|
+
prior()
|
|
519
558
|
}
|
|
520
|
-
|
|
521
|
-
motionValue.set(next)
|
|
559
|
+
PendingMotionOnFinish.set(motionValue, onFinish)
|
|
522
560
|
}
|
|
561
|
+
|
|
562
|
+
motionValue.set(next)
|
|
523
563
|
},
|
|
524
564
|
stop() {
|
|
525
565
|
motionValue.stop()
|
|
@@ -856,7 +896,8 @@ function createMotionView(defaultTag: string) {
|
|
|
856
896
|
? { type: 'tween', duration: 0 }
|
|
857
897
|
: { type: 'spring', ...(animationConfig as any) }
|
|
858
898
|
|
|
859
|
-
animate(node, webStyle as any, motionAnimationConfig)
|
|
899
|
+
const controls = animate(node, webStyle as any, motionAnimationConfig)
|
|
900
|
+
settlePendingMotionOnFinish(mv, controls)
|
|
860
901
|
}
|
|
861
902
|
})
|
|
862
903
|
)
|
|
@@ -887,7 +928,8 @@ function createMotionView(defaultTag: string) {
|
|
|
887
928
|
...(animationConfig as any),
|
|
888
929
|
}
|
|
889
930
|
|
|
890
|
-
animate(node, webStyle as any, motionAnimationConfig)
|
|
931
|
+
const controls = animate(node, webStyle as any, motionAnimationConfig)
|
|
932
|
+
settlePendingMotionOnFinish(animatedStyle.motionValue!, controls)
|
|
891
933
|
}
|
|
892
934
|
})
|
|
893
935
|
}, [animatedStyle])
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"mappings": "AAEA,cAEO,uBAaA;AACP,cAOO,uBACA;KAuBF,kBAAkB;
|
|
2
|
+
"mappings": "AAEA,cAEO,uBAaA;AACP,cAOO,uBACA;KAuBF,kBAAkB;AA+DvB,OAAO,iBAAS,iBAAiB,UAAU,eAAe,kBACxD,YAAY,IACX,gBAAgB;AA+pBnB,OAAO,cAAM,uBAAuB",
|
|
3
3
|
"names": [],
|
|
4
4
|
"sources": [
|
|
5
5
|
"src/createAnimations.tsx"
|
|
6
6
|
],
|
|
7
7
|
"version": 3,
|
|
8
8
|
"sourcesContent": [
|
|
9
|
-
"import { getEffectiveAnimation, normalizeTransition } from '@hanzogui/animation-helpers'\nimport { ResetPresence, usePresence } from '@hanzogui/use-presence'\nimport {\n type AnimatedNumberStrategy,\n type AnimationDriver,\n fixStyles,\n getConfig,\n getSplitStyles,\n hooks,\n styleToCSS,\n Text,\n TransitionProp,\n type UniversalAnimatedNumber,\n useComposedRefs,\n useIsomorphicLayoutEffect,\n useThemeWithState,\n View,\n} from '@hanzogui/web'\nimport {\n type AnimationOptions,\n type AnimationPlaybackControlsWithThen,\n type MotionValue,\n useAnimate,\n useMotionValue,\n useMotionValueEvent,\n type ValueTransition,\n} from 'motion/react'\nimport React, {\n forwardRef,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nconst isServer = typeof window === 'undefined'\n\n// SSR-safe wrapper: framer-motion's useAnimate imports its own React copy in\n// Vite SSR bundles which causes \"Invalid hook call\" errors. during SSR we\n// don't need animations so we return a no-op scope/animate pair.\nfunction useAnimateSSRSafe() {\n if (isServer) {\n return [useRef(null), (() => {}) as any] as ReturnType<typeof useAnimate>\n }\n return useAnimate()\n}\n\ntype MotionAnimatedNumber = MotionValue<number>\ntype AnimationConfig = ValueTransition\n\ntype MotionAnimatedNumberStyle = {\n getStyle: (...args: any[]) => Record<string, unknown>\n motionValue?: MotionValue<number>\n motionValues?: MotionValue<number>[]\n}\n\n/**\n * Animation options with optional default and per-property configs.\n * This extends AnimationOptions to support the default key.\n */\ntype TransitionAnimationOptions = AnimationOptions & {\n default?: ValueTransition\n [propertyName: string]: ValueTransition | undefined\n}\n\nconst MotionValueStrategy = new WeakMap<MotionValue, AnimatedNumberStrategy>()\n\ntype AnimationProps = {\n doAnimate?: Record<string, unknown>\n dontAnimate?: Record<string, unknown>\n animationOptions?: AnimationOptions\n}\n\n// internal refs consolidated into a single object\ntype MotionRefs = {\n isFirstRender: boolean\n lastDoAnimate: Record<string, unknown> | null\n lastDontAnimate: Record<string, unknown> | null\n controls: AnimationPlaybackControlsWithThen | null\n lastAnimateAt: number\n disposed: boolean\n wasExiting: boolean\n isExiting: boolean\n sendExitComplete: (() => void) | null | undefined\n animationState: 'enter' | 'exit' | 'default'\n frozenExitTarget: Record<string, unknown> | null\n exitCompleteScheduled: boolean\n wasEntering: boolean\n}\n\nexport function createAnimations<A extends Record<string, AnimationConfig>>(\n animations: A\n): AnimationDriver<A> {\n let isHydratingGlobal: boolean | undefined\n const hydratingComponents = new Set<Function>()\n\n return {\n View: MotionView,\n Text: MotionText,\n isReactNative: false,\n inputStyle: 'css',\n outputStyle: 'inline',\n avoidReRenders: true,\n animations,\n usePresence,\n ResetPresence,\n\n onMount() {\n isHydratingGlobal = false\n hydratingComponents.forEach((cb) => cb())\n },\n\n useAnimations: (animationProps) => {\n if (isHydratingGlobal === undefined && !getConfig().settings.disableSSR) {\n isHydratingGlobal = true\n }\n\n const { props, style, componentState, stateRef, useStyleEmitter, presence } =\n animationProps\n\n const animationKey = Array.isArray(props.transition)\n ? props.transition[0]\n : props.transition\n\n const isComponentHydrating = componentState.unmounted === true\n const isMounting = componentState.unmounted === 'should-enter'\n const isEntering = !!componentState.unmounted\n const isExiting = presence?.[0] === false\n const sendExitComplete = presence?.[1]\n\n // single consolidated ref with lazy init\n const refs = useRef<MotionRefs>(null!)\n if (!refs.current) {\n refs.current = {\n isFirstRender: true,\n lastDoAnimate: null,\n lastDontAnimate: null,\n controls: null,\n lastAnimateAt: 0,\n disposed: false,\n wasExiting: false,\n isExiting: false,\n sendExitComplete: undefined,\n animationState: 'default',\n frozenExitTarget: null,\n exitCompleteScheduled: false,\n wasEntering: false,\n }\n }\n\n // track entering state transitions\n const justFinishedEntering = refs.current.wasEntering && !isEntering\n useEffect(() => {\n refs.current.wasEntering = isEntering\n })\n\n // determine animation state for enter/exit transitions\n const animationState: 'enter' | 'exit' | 'default' = isExiting\n ? 'exit'\n : isMounting || justFinishedEntering\n ? 'enter'\n : 'default'\n\n // disable animation during hydration and mounting (prevents \"flying across the page\")\n const disableAnimation = isComponentHydrating || isMounting || !animationKey\n\n const [scope, animate] = useAnimateSSRSafe()\n\n // sync ref values for reliable access from callbacks\n refs.current.isExiting = isExiting\n refs.current.sendExitComplete = sendExitComplete\n refs.current.animationState = animationState\n\n // detect transition into exiting state\n const justStartedExiting = isExiting && !refs.current.wasExiting\n const justStoppedExiting = !isExiting && refs.current.wasExiting\n\n // freeze exit animation target so direction changes don't reverse mid-exit\n if (justStartedExiting || justStoppedExiting) {\n refs.current.frozenExitTarget = null\n refs.current.exitCompleteScheduled = false\n }\n\n // track previous exiting state\n useEffect(() => {\n refs.current.wasExiting = isExiting\n })\n\n const {\n dontAnimate = {},\n doAnimate,\n animationOptions,\n } = getMotionAnimatedProps(props as any, style, disableAnimation, animationState)\n\n const [firstRenderStyle] = useState(style)\n\n // avoid first render returning wrong styles - always render all, after that we can just mutate\n if (refs.current.isFirstRender) {\n refs.current.lastDontAnimate = firstRenderStyle\n }\n const [isHydrating, setIsHydrating] = useState(isHydratingGlobal)\n\n useLayoutEffect(() => {\n if (isHydratingGlobal) {\n hydratingComponents.add(() => {\n setIsHydrating(false)\n })\n }\n return () => {\n refs.current.disposed = true\n }\n }, [])\n\n const flushAnimation = ({\n doAnimate: doAnimateRaw = {},\n animationOptions: passedOptions = {},\n dontAnimate,\n }: AnimationProps) => {\n // track whether THIS flush starts a new animation (vs using stale controls)\n let startedControls: AnimationPlaybackControlsWithThen | null = null\n\n // read current state from refs (closure variables can be stale)\n const isCurrentlyExiting = refs.current.isExiting\n const currentSendExitComplete = refs.current.sendExitComplete\n\n // freeze exit target: once the first exit animation starts, subsequent\n // renders (e.g. direction change) should not reverse the exit animation.\n let doAnimate = doAnimateRaw\n if (isCurrentlyExiting && refs.current.frozenExitTarget) {\n doAnimate = refs.current.frozenExitTarget\n }\n\n // only recompute animation options for exit animations to avoid stale state.\n const animationOptions =\n isCurrentlyExiting && currentSendExitComplete\n ? getAnimationOptions(props.transition ?? null, 'exit')\n : passedOptions\n\n try {\n const node = stateRef.current.host\n\n // on first render, reset stale animation refs - they can persist if component\n // instance is reused (e.g. AnimatePresence keepChildrenMounted)\n if (refs.current.isFirstRender) {\n refs.current.lastDontAnimate = null\n refs.current.lastDoAnimate = null\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug'] && props['debug'] !== 'profile') {\n console.groupCollapsed(\n `[motion] animate (${JSON.stringify(getDiff(refs.current.lastDoAnimate, doAnimate), null, 2)})`\n )\n console.info({\n props,\n componentState,\n doAnimate,\n dontAnimate,\n animationOptions,\n animationProps,\n lastDoAnimate: { ...refs.current.lastDoAnimate },\n lastDontAnimate: { ...refs.current.lastDontAnimate },\n isExiting,\n style,\n node,\n })\n console.groupCollapsed(`trace >`)\n console.trace()\n console.groupEnd()\n console.groupEnd()\n }\n }\n\n if (!(node instanceof HTMLElement)) {\n return\n }\n\n // handle case where dontAnimate changes\n const prevDont = refs.current.lastDontAnimate\n if (dontAnimate) {\n if (prevDont) {\n removeRemovedStyles(prevDont, dontAnimate, node, doAnimate)\n const changed = getDiff(prevDont, dontAnimate)\n if (changed) {\n Object.assign(node.style, changed as any)\n }\n } else {\n Object.assign(node.style, dontAnimate as any)\n }\n }\n\n if (doAnimate) {\n // when a property moves from dontAnimate to doAnimate, preserve\n // the current inline style value so WAAPI starts from the right place\n if (prevDont) {\n for (const key in prevDont) {\n if (key in doAnimate) {\n node.style[key] = prevDont[key]\n if (refs.current.lastDoAnimate) {\n refs.current.lastDoAnimate[key] = prevDont[key]\n }\n }\n }\n }\n\n const lastAnimated = refs.current.lastDoAnimate\n if (lastAnimated) {\n removeRemovedStyles(lastAnimated, doAnimate, node, dontAnimate)\n }\n\n const diff = getDiff(refs.current.lastDoAnimate, doAnimate)\n\n if (diff) {\n // capture frozen exit target on first exit diff\n if (isCurrentlyExiting && !refs.current.frozenExitTarget) {\n refs.current.frozenExitTarget = { ...doAnimate }\n }\n\n // capture mid-flight values so we can provide explicit [from, to]\n // keyframes to WAAPI, ensuring smooth interpolation from the\n // current visual state.\n //\n // only stop() during exit — for non-exit cases, WAAPI\n // naturally replaces only conflicting property animations,\n // letting non-conflicting ones (like an in-flight enter\n // opacity animation) continue to completion.\n const isPopperPosition = node.hasAttribute('data-popper-animate-position')\n let midFlightValues: Record<string, string> | null = null\n if (refs.current.controls) {\n try {\n const computed = getComputedStyle(node)\n midFlightValues = {}\n for (const key in diff) {\n const val = (computed as any)[key]\n if (val !== undefined && val !== '') {\n midFlightValues[key] = val\n }\n }\n } catch {\n // getComputedStyle can fail on detached nodes\n }\n\n if (isCurrentlyExiting) {\n refs.current.controls.stop()\n }\n\n // write mid-flight values to inline so the 1-frame gap\n // (while motion resolves keyframes) shows the correct\n // position instead of stale inline styles\n if (midFlightValues) {\n for (const key in midFlightValues) {\n ;(node.style as any)[key] = midFlightValues[key]\n }\n }\n\n // for popper position elements, cancel WAAPI animations\n // directly so motion.dev's internal stop() sees \"idle\" state\n // and skips commitStyles. without this, commitStyles writes\n // a mid-flight transform that's visible for 1 frame before\n // the new animation starts, causing a flash toward (0,0).\n if (isPopperPosition) {\n const anims = node.getAnimations()\n for (const anim of anims) {\n anim.cancel()\n }\n }\n }\n\n const fixedDiff = fixTransparentColors(\n diff,\n refs.current.lastDoAnimate,\n doAnimate\n )\n\n // provide explicit [from, to] keyframe for transforms during\n // mid-flight interruption so motion starts from the right place\n if (midFlightValues?.transform && fixedDiff.transform) {\n fixedDiff.transform = [midFlightValues.transform, fixedDiff.transform]\n }\n\n startedControls = animate(scope.current, fixedDiff, animationOptions)\n refs.current.controls = startedControls\n refs.current.lastAnimateAt = Date.now()\n }\n }\n\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {}\n refs.current.lastDoAnimate = doAnimate ? { ...doAnimate } : {}\n } finally {\n // exit completion: notify AnimatePresence when exit animation finishes\n if (isCurrentlyExiting && currentSendExitComplete) {\n if (startedControls) {\n // new animation started — attach completion handler\n refs.current.exitCompleteScheduled = true\n startedControls.finished\n .then(() => {\n // guard: only complete if still exiting (prevents stale promise\n // from calling sendExitComplete after a re-entry cancels the exit)\n if (refs.current.isExiting) {\n currentSendExitComplete()\n }\n })\n .catch(() => {\n if (refs.current.isExiting) {\n currentSendExitComplete()\n }\n })\n } else if (!refs.current.exitCompleteScheduled) {\n // no animation started AND none previously scheduled (e.g. diff=null\n // on re-render mid-exit because frozenExitTarget matches lastDoAnimate)\n // — complete immediately only if we've never started an exit animation\n currentSendExitComplete()\n }\n // else: exit animation already scheduled via a previous flush,\n // its .finished promise will call sendExitComplete when done\n }\n }\n }\n\n useStyleEmitter?.((nextStyle, effectiveTransition) => {\n const animationProps = getMotionAnimatedProps(\n props as any,\n nextStyle,\n disableAnimation,\n refs.current.animationState,\n effectiveTransition\n )\n\n flushAnimation(animationProps)\n })\n\n useIsomorphicLayoutEffect(() => {\n if (refs.current.isFirstRender) {\n refs.current.isFirstRender = false\n\n // during hydration, skip inline style writes entirely — SSR CSS\n // already has the correct values. writing them again as inline\n // styles triggers browser style recalc that causes visible font\n // flashes (fontWeight, fontSize, letterSpacing, lineHeight).\n // we only need to track refs for future animation diffing.\n if (isHydrating) {\n if (doAnimate && Object.keys(doAnimate).length > 0) {\n refs.current.lastDoAnimate = { ...doAnimate }\n } else {\n refs.current.lastDoAnimate = dontAnimate ? { ...dontAnimate } : {}\n }\n\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {}\n refs.current.lastAnimateAt = Date.now()\n return\n }\n\n // after hydration, use simpler logic\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {}\n refs.current.lastDoAnimate = doAnimate ? { ...doAnimate } : {}\n return\n }\n\n flushAnimation({\n doAnimate,\n dontAnimate,\n animationOptions,\n })\n }, [style, isExiting, disableAnimation])\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug'] && props['debug'] !== 'profile') {\n console.groupCollapsed(`[motion] render`)\n console.info({\n style,\n doAnimate,\n dontAnimate,\n scope,\n animationOptions,\n isExiting,\n isFirstRender: refs.current.isFirstRender,\n animationProps,\n })\n console.groupEnd()\n }\n }\n\n return {\n style: firstRenderStyle,\n ref: scope,\n render: 'div',\n }\n },\n\n useAnimatedNumber(initial): UniversalAnimatedNumber<MotionAnimatedNumber> {\n const motionValue = useMotionValue(initial)\n\n return React.useMemo(\n () => ({\n getInstance() {\n return motionValue\n },\n getValue() {\n return motionValue.get()\n },\n setValue(next, config = { type: 'spring' }, onFinish) {\n if (config.type === 'direct') {\n MotionValueStrategy.set(motionValue, {\n type: 'direct',\n })\n motionValue.set(next)\n onFinish?.()\n } else {\n MotionValueStrategy.set(motionValue, config)\n\n if (onFinish) {\n const unsubscribe = motionValue.on('change', (value) => {\n if (Math.abs(value - next) < 0.01) {\n unsubscribe()\n onFinish()\n }\n })\n }\n\n motionValue.set(next)\n }\n },\n stop() {\n motionValue.stop()\n },\n }),\n [motionValue]\n )\n },\n\n useAnimatedNumberReaction({ value }, onValue) {\n const instance = value.getInstance() as MotionValue<number>\n useMotionValueEvent(instance, 'change', onValue)\n },\n\n useAnimatedNumberStyle(val, getStyleProp) {\n const motionValue = val.getInstance() as MotionValue<number>\n const getStyleRef = useRef<typeof getStyleProp>(getStyleProp)\n\n // we need to change useAnimatedNumberStyle to have dep args to be concurrent safe\n getStyleRef.current = getStyleProp\n\n return useMemo(() => {\n return {\n getStyle: (cur) => {\n return getStyleRef.current(cur)\n },\n motionValue,\n } satisfies MotionAnimatedNumberStyle\n }, [])\n },\n\n useAnimatedNumbersStyle(vals, getStyleProp) {\n const motionValues = vals.map((v) => v.getInstance() as MotionValue<number>)\n const getStyleRef = useRef<typeof getStyleProp>(getStyleProp)\n getStyleRef.current = getStyleProp\n\n return useMemo(() => {\n return {\n getStyle: (...currentValues: number[]) => getStyleRef.current(...currentValues),\n motionValues,\n } satisfies MotionAnimatedNumberStyle\n }, [])\n },\n }\n\n function getMotionAnimatedProps(\n props: { transition?: TransitionProp | null; animateOnly?: string[] },\n style: Record<string, unknown>,\n disable: boolean,\n animationState: 'enter' | 'exit' | 'default' = 'default',\n transitionOverride?: TransitionProp | null\n ): AnimationProps {\n if (disable) {\n return {\n dontAnimate: style,\n }\n }\n\n const animationOptions = getAnimationOptions(\n transitionOverride ?? props.transition ?? null,\n animationState\n )\n\n let dontAnimate: Record<string, unknown> | undefined\n let doAnimate: Record<string, unknown> | undefined\n\n const animateOnly = props.animateOnly as string[] | undefined\n for (const key in style) {\n const value = style[key]\n if (disableAnimationProps.has(key) || (animateOnly && !animateOnly.includes(key))) {\n dontAnimate ||= {}\n dontAnimate[key] = value\n } else {\n doAnimate ||= {}\n doAnimate[key] = value\n }\n }\n\n return {\n dontAnimate,\n doAnimate,\n animationOptions,\n }\n }\n\n function getAnimationOptions(\n transitionProp: TransitionProp | null,\n animationState: 'enter' | 'exit' | 'default' = 'default'\n ): TransitionAnimationOptions {\n const normalized = normalizeTransition(transitionProp)\n\n let effectiveKey = getEffectiveAnimation(normalized, animationState)\n\n // fallback: if we have enter/exit defined but state is 'default' and no default key,\n // use enter timing as fallback to avoid empty animation options\n if (!effectiveKey && animationState === 'default') {\n effectiveKey = normalized.enter || normalized.exit || null\n }\n\n const globalConfigOverride: Record<string, unknown> | undefined = normalized.config\n ? { ...normalized.config }\n : undefined\n\n if (\n !effectiveKey &&\n Object.keys(normalized.properties).length === 0 &&\n !globalConfigOverride\n ) {\n return {}\n }\n\n const defaultConfig = effectiveKey ? withInferredType(animations[effectiveKey]) : null\n\n const delay = normalized.delay\n\n // framer motion's animate() expects default config at the TOP LEVEL\n const result: TransitionAnimationOptions = {}\n\n if (defaultConfig) {\n Object.assign(result, defaultConfig)\n }\n\n if (globalConfigOverride) {\n Object.assign(result, globalConfigOverride)\n if (\n result.type === undefined &&\n result.duration !== undefined &&\n result.damping === undefined &&\n result.stiffness === undefined &&\n result.mass === undefined\n ) {\n result.type = 'tween'\n }\n }\n\n if (delay) {\n result.delay = delay\n }\n\n if (defaultConfig || globalConfigOverride || delay) {\n result.default = {\n ...defaultConfig,\n ...globalConfigOverride,\n ...(delay ? { delay } : null),\n }\n }\n\n for (const [propName, animationNameOrConfig] of Object.entries(\n normalized.properties\n )) {\n if (typeof animationNameOrConfig === 'string') {\n result[propName] = withInferredType(animations[animationNameOrConfig])\n } else if (animationNameOrConfig && typeof animationNameOrConfig === 'object') {\n const baseConfig = animationNameOrConfig.type\n ? withInferredType(animations[animationNameOrConfig.type])\n : defaultConfig\n\n result[propName] = {\n ...baseConfig,\n ...animationNameOrConfig,\n } as ValueTransition\n }\n }\n\n // we standardize to ms across drivers, motion expects s\n convertMsToS(result as ValueTransition)\n convertMsToS(result.default)\n for (const key in result) {\n if (key !== 'default' && typeof result[key] === 'object') {\n convertMsToS(result[key])\n }\n }\n\n return result\n }\n}\n\nfunction withInferredType(config: AnimationConfig | undefined): AnimationConfig {\n if (!config) {\n return { type: 'spring' }\n }\n const isTimingBased =\n config.duration !== undefined &&\n config.damping === undefined &&\n config.stiffness === undefined &&\n config.mass === undefined\n return { type: isTimingBased ? 'tween' : 'spring', ...config }\n}\n\nfunction convertMsToS(config: ValueTransition | undefined) {\n if (!config) return\n if (typeof config.delay === 'number') config.delay = config.delay / 1000\n if (typeof config.duration === 'number') {\n const isTimingBased =\n config.type === 'tween' ||\n (config.type === undefined &&\n config.damping === undefined &&\n config.stiffness === undefined &&\n config.mass === undefined)\n if (isTimingBased) {\n config.duration = config.duration / 1000\n }\n }\n}\n\nfunction removeRemovedStyles(\n prev: object,\n next: object,\n node: HTMLElement,\n dontClearIfIn?: object\n) {\n for (const key in prev) {\n if (!(key in next)) {\n if (dontClearIfIn && key in dontClearIfIn) {\n continue\n }\n node.style[key] = ''\n }\n }\n}\n\n// truly non-animatable CSS properties (discrete, keyword-based, no interpolation)\n// properties like margin, maxHeight, zIndex, etc are animatable and intentionally excluded\nexport const disableAnimationProps: Set<string> = new Set<string>([\n 'alignContent',\n 'alignItems',\n 'boxSizing',\n 'contain',\n 'containerType',\n 'display',\n 'flexBasis',\n 'flexDirection',\n 'fontFamily',\n 'justifyContent',\n 'overflow',\n 'overflowX',\n 'overflowY',\n 'pointerEvents',\n 'position',\n 'textWrap',\n 'userSelect',\n])\n\nconst MotionView = createMotionView('div')\nconst MotionText = createMotionView('span')\n\nfunction createMotionView(defaultTag: string) {\n const isText = defaultTag === 'span'\n\n const Component = forwardRef((propsIn: any, ref) => {\n const { forwardedRef, animation, render = defaultTag, style, ...propsRest } = propsIn\n const [scope, animate] = useAnimateSSRSafe()\n const hostRef = useRef<HTMLElement>(null)\n const composedRefs = useComposedRefs(forwardedRef, ref, hostRef, scope)\n\n const stateRef = useRef<any>(null)\n if (!stateRef.current) {\n stateRef.current = {\n get host() {\n return hostRef.current\n },\n }\n }\n\n const [_, state] = useThemeWithState({})\n\n const styles = Array.isArray(style) ? style : [style]\n\n const [animatedStyle, nonAnimatedStyles] = (() => {\n let animatedStyle: MotionAnimatedNumberStyle | undefined\n const nonAnimatedStyles: typeof styles = []\n for (const style of styles) {\n if (style.getStyle) {\n animatedStyle = style as MotionAnimatedNumberStyle\n } else {\n nonAnimatedStyles.push(style)\n }\n }\n return [animatedStyle, nonAnimatedStyles] as const\n })()\n\n function getProps(props: any) {\n const out = getSplitStyles(\n props,\n isText ? Text.staticConfig : View.staticConfig,\n state?.theme,\n state?.name,\n {\n unmounted: false,\n },\n {\n isAnimated: false,\n noClass: true,\n resolveValues: 'auto',\n }\n )\n\n if (!out) {\n return {}\n }\n\n if (out.viewProps.style) {\n fixStyles(out.viewProps.style)\n styleToCSS(out.viewProps.style)\n }\n\n return out.viewProps\n }\n\n const props = getProps({ ...propsRest, style: nonAnimatedStyles })\n const Element = render || 'div'\n const transformedProps = hooks.usePropsTransform?.(render, props, stateRef, false)\n\n useEffect(() => {\n if (!animatedStyle) return\n\n // multi-value path: subscribe to all motion values\n if (animatedStyle.motionValues) {\n const mvs = animatedStyle.motionValues\n const unsubs = mvs.map((mv) =>\n mv.on('change', () => {\n const currentValues = mvs.map((v) => v.get())\n const nextStyle = animatedStyle.getStyle(...currentValues)\n const animationConfig = MotionValueStrategy.get(mv)\n const node = hostRef.current\n\n const webStyle = getProps({ style: nextStyle }).style\n\n if (webStyle && node instanceof HTMLElement) {\n const motionAnimationConfig =\n animationConfig?.type === 'timing'\n ? { type: 'tween', duration: (animationConfig?.duration || 0) / 1000 }\n : animationConfig?.type === 'direct'\n ? { type: 'tween', duration: 0 }\n : { type: 'spring', ...(animationConfig as any) }\n\n animate(node, webStyle as any, motionAnimationConfig)\n }\n })\n )\n return () => unsubs.forEach((fn) => fn())\n }\n\n // single-value path\n if (!animatedStyle.motionValue) return\n\n return animatedStyle.motionValue.on('change', (value) => {\n const nextStyle = animatedStyle.getStyle(value)\n const animationConfig = MotionValueStrategy.get(animatedStyle.motionValue!)\n const node = hostRef.current\n\n const webStyle = getProps({ style: nextStyle }).style\n\n if (webStyle && node instanceof HTMLElement) {\n const motionAnimationConfig =\n animationConfig?.type === 'timing'\n ? {\n type: 'tween',\n duration: (animationConfig?.duration || 0) / 1000,\n }\n : animationConfig?.type === 'direct'\n ? { type: 'tween', duration: 0 }\n : {\n type: 'spring',\n ...(animationConfig as any),\n }\n\n animate(node, webStyle as any, motionAnimationConfig)\n }\n })\n }, [animatedStyle])\n\n return <Element {...transformedProps} ref={composedRefs} />\n })\n\n Component['acceptRenderProp'] = true\n\n return Component\n}\n\nfunction getDiff<T extends Record<string, unknown>>(\n previous: T | null,\n next: T\n): Record<string, unknown> | null {\n if (!previous) {\n return next\n }\n\n let diff: Record<string, unknown> | null = null\n for (const key in next) {\n if (next[key] !== previous[key]) {\n diff ||= {}\n diff[key] = next[key]\n }\n }\n return diff\n}\n\n// motion.dev can't animate to \"transparent\" - convert it to rgba\n// try to extract RGB from previous or next value for smooth color transitions\nfunction fixTransparentColors(\n diff: Record<string, unknown>,\n previous: Record<string, unknown> | null,\n next?: Record<string, unknown> | null\n): Record<string, unknown> {\n let result = diff\n for (const key in diff) {\n if (diff[key] === 'transparent') {\n let fixed = 'rgba(0, 0, 0, 0)'\n const candidates = [previous?.[key], next?.[key]]\n for (const candidate of candidates) {\n if (typeof candidate === 'string' && candidate !== 'transparent') {\n const rgbaMatch = candidate.match(/^rgba?\\(([^,]+),\\s*([^,]+),\\s*([^,)]+)/)\n if (rgbaMatch) {\n fixed = `rgba(${rgbaMatch[1]}, ${rgbaMatch[2]}, ${rgbaMatch[3]}, 0)`\n break\n }\n }\n }\n if (result === diff) {\n result = { ...diff }\n }\n result[key] = fixed\n }\n }\n return result\n}\n"
|
|
9
|
+
"import { getEffectiveAnimation, normalizeTransition } from '@hanzogui/animation-helpers'\nimport { ResetPresence, usePresence } from '@hanzogui/use-presence'\nimport {\n type AnimatedNumberStrategy,\n type AnimationDriver,\n fixStyles,\n getConfig,\n getSplitStyles,\n hooks,\n styleToCSS,\n Text,\n TransitionProp,\n type UniversalAnimatedNumber,\n useComposedRefs,\n useIsomorphicLayoutEffect,\n useThemeWithState,\n View,\n} from '@hanzogui/web'\nimport {\n type AnimationOptions,\n type AnimationPlaybackControlsWithThen,\n type MotionValue,\n useAnimate,\n useMotionValue,\n useMotionValueEvent,\n type ValueTransition,\n} from 'motion/react'\nimport React, {\n forwardRef,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nconst isServer = typeof window === 'undefined'\n\n// SSR-safe wrapper: framer-motion's useAnimate imports its own React copy in\n// Vite SSR bundles which causes \"Invalid hook call\" errors. during SSR we\n// don't need animations so we return a no-op scope/animate pair.\nfunction useAnimateSSRSafe() {\n if (isServer) {\n return [useRef(null), (() => {}) as any] as ReturnType<typeof useAnimate>\n }\n return useAnimate()\n}\n\ntype MotionAnimatedNumber = MotionValue<number>\ntype AnimationConfig = ValueTransition\n\ntype MotionAnimatedNumberStyle = {\n getStyle: (...args: any[]) => Record<string, unknown>\n motionValue?: MotionValue<number>\n motionValues?: MotionValue<number>[]\n}\n\n/**\n * Animation options with optional default and per-property configs.\n * This extends AnimationOptions to support the default key.\n */\ntype TransitionAnimationOptions = AnimationOptions & {\n default?: ValueTransition\n [propertyName: string]: ValueTransition | undefined\n}\n\nconst MotionValueStrategy = new WeakMap<MotionValue, AnimatedNumberStrategy>()\n\n// pending setValue onFinish callbacks, keyed by motion value. setValue stores\n// the callback here; the change handler in the animated component's useEffect\n// consumes it by chaining to the DOM-level animate() controls so onFinish\n// fires when the *visible* animation actually completes.\nconst PendingMotionOnFinish = new WeakMap<MotionValue, () => void>()\n\nfunction settlePendingMotionOnFinish(\n mv: MotionValue,\n controls: AnimationPlaybackControlsWithThen\n) {\n const onFinish = PendingMotionOnFinish.get(mv)\n if (!onFinish) return\n PendingMotionOnFinish.delete(mv)\n // chain to the DOM animation's completion. settle on both resolve and\n // reject — a rejection means the animation was cancelled by a later\n // setValue, and the caller still needs a completion signal. use the\n // real Promise interface (.then().catch()) because framer-motion types\n // the .then() callbacks as VoidFunction with no error arg.\n controls.then(() => onFinish()).catch(() => onFinish())\n}\n\ntype AnimationProps = {\n doAnimate?: Record<string, unknown>\n dontAnimate?: Record<string, unknown>\n animationOptions?: AnimationOptions\n}\n\n// internal refs consolidated into a single object\ntype MotionRefs = {\n isFirstRender: boolean\n lastDoAnimate: Record<string, unknown> | null\n lastDontAnimate: Record<string, unknown> | null\n controls: AnimationPlaybackControlsWithThen | null\n lastAnimateAt: number\n disposed: boolean\n wasExiting: boolean\n isExiting: boolean\n sendExitComplete: (() => void) | null | undefined\n animationState: 'enter' | 'exit' | 'default'\n frozenExitTarget: Record<string, unknown> | null\n exitCompleteScheduled: boolean\n wasEntering: boolean\n}\n\nexport function createAnimations<A extends Record<string, AnimationConfig>>(\n animations: A\n): AnimationDriver<A> {\n let isHydratingGlobal: boolean | undefined\n const hydratingComponents = new Set<Function>()\n\n return {\n View: MotionView,\n Text: MotionText,\n isReactNative: false,\n inputStyle: 'css',\n outputStyle: 'inline',\n avoidReRenders: true,\n animations,\n usePresence,\n ResetPresence,\n\n onMount() {\n isHydratingGlobal = false\n hydratingComponents.forEach((cb) => cb())\n },\n\n useAnimations: (animationProps) => {\n if (isHydratingGlobal === undefined && !getConfig().settings.disableSSR) {\n isHydratingGlobal = true\n }\n\n const { props, style, componentState, stateRef, useStyleEmitter, presence } =\n animationProps\n\n const animationKey = Array.isArray(props.transition)\n ? props.transition[0]\n : props.transition\n\n const isComponentHydrating = componentState.unmounted === true\n const isMounting = componentState.unmounted === 'should-enter'\n const isEntering = !!componentState.unmounted\n const isExiting = presence?.[0] === false\n const sendExitComplete = presence?.[1]\n\n // single consolidated ref with lazy init\n const refs = useRef<MotionRefs>(null!)\n if (!refs.current) {\n refs.current = {\n isFirstRender: true,\n lastDoAnimate: null,\n lastDontAnimate: null,\n controls: null,\n lastAnimateAt: 0,\n disposed: false,\n wasExiting: false,\n isExiting: false,\n sendExitComplete: undefined,\n animationState: 'default',\n frozenExitTarget: null,\n exitCompleteScheduled: false,\n wasEntering: false,\n }\n }\n\n // track entering state transitions\n const justFinishedEntering = refs.current.wasEntering && !isEntering\n useEffect(() => {\n refs.current.wasEntering = isEntering\n })\n\n // determine animation state for enter/exit transitions\n const animationState: 'enter' | 'exit' | 'default' = isExiting\n ? 'exit'\n : isMounting || justFinishedEntering\n ? 'enter'\n : 'default'\n\n // disable animation during hydration and mounting (prevents \"flying across the page\")\n const disableAnimation = isComponentHydrating || isMounting || !animationKey\n\n const [scope, animate] = useAnimateSSRSafe()\n\n // sync ref values for reliable access from callbacks\n refs.current.isExiting = isExiting\n refs.current.sendExitComplete = sendExitComplete\n refs.current.animationState = animationState\n\n // detect transition into exiting state\n const justStartedExiting = isExiting && !refs.current.wasExiting\n const justStoppedExiting = !isExiting && refs.current.wasExiting\n\n // freeze exit animation target so direction changes don't reverse mid-exit\n if (justStartedExiting || justStoppedExiting) {\n refs.current.frozenExitTarget = null\n refs.current.exitCompleteScheduled = false\n }\n\n // track previous exiting state\n useEffect(() => {\n refs.current.wasExiting = isExiting\n })\n\n const {\n dontAnimate = {},\n doAnimate,\n animationOptions,\n } = getMotionAnimatedProps(props as any, style, disableAnimation, animationState)\n\n const [firstRenderStyle] = useState(style)\n\n // avoid first render returning wrong styles - always render all, after that we can just mutate\n if (refs.current.isFirstRender) {\n refs.current.lastDontAnimate = firstRenderStyle\n }\n const [isHydrating, setIsHydrating] = useState(isHydratingGlobal)\n\n useLayoutEffect(() => {\n if (isHydratingGlobal) {\n hydratingComponents.add(() => {\n setIsHydrating(false)\n })\n }\n return () => {\n refs.current.disposed = true\n }\n }, [])\n\n const flushAnimation = ({\n doAnimate: doAnimateRaw = {},\n animationOptions: passedOptions = {},\n dontAnimate,\n }: AnimationProps) => {\n // track whether THIS flush starts a new animation (vs using stale controls)\n let startedControls: AnimationPlaybackControlsWithThen | null = null\n\n // read current state from refs (closure variables can be stale)\n const isCurrentlyExiting = refs.current.isExiting\n const currentSendExitComplete = refs.current.sendExitComplete\n\n // freeze exit target: once the first exit animation starts, subsequent\n // renders (e.g. direction change) should not reverse the exit animation.\n let doAnimate = doAnimateRaw\n if (isCurrentlyExiting && refs.current.frozenExitTarget) {\n doAnimate = refs.current.frozenExitTarget\n }\n\n // only recompute animation options for exit animations to avoid stale state.\n const animationOptions =\n isCurrentlyExiting && currentSendExitComplete\n ? getAnimationOptions(props.transition ?? null, 'exit')\n : passedOptions\n\n try {\n const node = stateRef.current.host\n\n // on first render, reset stale animation refs - they can persist if component\n // instance is reused (e.g. AnimatePresence keepChildrenMounted)\n if (refs.current.isFirstRender) {\n refs.current.lastDontAnimate = null\n refs.current.lastDoAnimate = null\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug'] && props['debug'] !== 'profile') {\n console.groupCollapsed(\n `[motion] animate (${JSON.stringify(getDiff(refs.current.lastDoAnimate, doAnimate), null, 2)})`\n )\n console.info({\n props,\n componentState,\n doAnimate,\n dontAnimate,\n animationOptions,\n animationProps,\n lastDoAnimate: { ...refs.current.lastDoAnimate },\n lastDontAnimate: { ...refs.current.lastDontAnimate },\n isExiting,\n style,\n node,\n })\n console.groupCollapsed(`trace >`)\n console.trace()\n console.groupEnd()\n console.groupEnd()\n }\n }\n\n if (!(node instanceof HTMLElement)) {\n return\n }\n\n // handle case where dontAnimate changes\n const prevDont = refs.current.lastDontAnimate\n if (dontAnimate) {\n if (prevDont) {\n removeRemovedStyles(prevDont, dontAnimate, node, doAnimate)\n const changed = getDiff(prevDont, dontAnimate)\n if (changed) {\n Object.assign(node.style, changed as any)\n }\n } else {\n Object.assign(node.style, dontAnimate as any)\n }\n }\n\n if (doAnimate) {\n // when a property moves from dontAnimate to doAnimate, preserve\n // the current inline style value so WAAPI starts from the right place\n if (prevDont) {\n for (const key in prevDont) {\n if (key in doAnimate) {\n node.style[key] = prevDont[key]\n if (refs.current.lastDoAnimate) {\n refs.current.lastDoAnimate[key] = prevDont[key]\n }\n }\n }\n }\n\n const lastAnimated = refs.current.lastDoAnimate\n if (lastAnimated) {\n removeRemovedStyles(lastAnimated, doAnimate, node, dontAnimate)\n }\n\n const diff = getDiff(refs.current.lastDoAnimate, doAnimate)\n\n if (diff) {\n // capture frozen exit target on first exit diff\n if (isCurrentlyExiting && !refs.current.frozenExitTarget) {\n refs.current.frozenExitTarget = { ...doAnimate }\n }\n\n // capture mid-flight values so we can provide explicit [from, to]\n // keyframes to WAAPI, ensuring smooth interpolation from the\n // current visual state.\n //\n // only stop() during exit — for non-exit cases, WAAPI\n // naturally replaces only conflicting property animations,\n // letting non-conflicting ones (like an in-flight enter\n // opacity animation) continue to completion.\n const isPopperPosition = node.hasAttribute('data-popper-animate-position')\n let midFlightValues: Record<string, string> | null = null\n if (refs.current.controls) {\n try {\n const computed = getComputedStyle(node)\n midFlightValues = {}\n for (const key in diff) {\n const val = (computed as any)[key]\n if (val !== undefined && val !== '') {\n midFlightValues[key] = val\n }\n }\n } catch {\n // getComputedStyle can fail on detached nodes\n }\n\n if (isCurrentlyExiting) {\n refs.current.controls.stop()\n }\n\n // write mid-flight values to inline so the 1-frame gap\n // (while motion resolves keyframes) shows the correct\n // position instead of stale inline styles\n if (midFlightValues) {\n for (const key in midFlightValues) {\n ;(node.style as any)[key] = midFlightValues[key]\n }\n }\n\n // for popper position elements, cancel WAAPI animations\n // directly so motion.dev's internal stop() sees \"idle\" state\n // and skips commitStyles. without this, commitStyles writes\n // a mid-flight transform that's visible for 1 frame before\n // the new animation starts, causing a flash toward (0,0).\n if (isPopperPosition) {\n const anims = node.getAnimations()\n for (const anim of anims) {\n anim.cancel()\n }\n }\n }\n\n const fixedDiff = fixTransparentColors(\n diff,\n refs.current.lastDoAnimate,\n doAnimate\n )\n\n // provide explicit [from, to] keyframe for transforms during\n // mid-flight interruption so motion starts from the right place\n if (midFlightValues?.transform && fixedDiff.transform) {\n fixedDiff.transform = [midFlightValues.transform, fixedDiff.transform]\n }\n\n startedControls = animate(scope.current, fixedDiff, animationOptions)\n refs.current.controls = startedControls\n refs.current.lastAnimateAt = Date.now()\n }\n }\n\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {}\n refs.current.lastDoAnimate = doAnimate ? { ...doAnimate } : {}\n } finally {\n // exit completion: notify AnimatePresence when exit animation finishes\n if (isCurrentlyExiting && currentSendExitComplete) {\n if (startedControls) {\n // new animation started — attach completion handler\n refs.current.exitCompleteScheduled = true\n startedControls.finished\n .then(() => {\n // guard: only complete if still exiting (prevents stale promise\n // from calling sendExitComplete after a re-entry cancels the exit)\n if (refs.current.isExiting) {\n currentSendExitComplete()\n }\n })\n .catch(() => {\n if (refs.current.isExiting) {\n currentSendExitComplete()\n }\n })\n } else if (!refs.current.exitCompleteScheduled) {\n // no animation started AND none previously scheduled (e.g. diff=null\n // on re-render mid-exit because frozenExitTarget matches lastDoAnimate)\n // — complete immediately only if we've never started an exit animation\n currentSendExitComplete()\n }\n // else: exit animation already scheduled via a previous flush,\n // its .finished promise will call sendExitComplete when done\n }\n }\n }\n\n useStyleEmitter?.((nextStyle, effectiveTransition) => {\n const animationProps = getMotionAnimatedProps(\n props as any,\n nextStyle,\n disableAnimation,\n refs.current.animationState,\n effectiveTransition\n )\n\n flushAnimation(animationProps)\n })\n\n useIsomorphicLayoutEffect(() => {\n if (refs.current.isFirstRender) {\n refs.current.isFirstRender = false\n\n // during hydration, skip inline style writes entirely — SSR CSS\n // already has the correct values. writing them again as inline\n // styles triggers browser style recalc that causes visible font\n // flashes (fontWeight, fontSize, letterSpacing, lineHeight).\n // we only need to track refs for future animation diffing.\n if (isHydrating) {\n if (doAnimate && Object.keys(doAnimate).length > 0) {\n refs.current.lastDoAnimate = { ...doAnimate }\n } else {\n refs.current.lastDoAnimate = dontAnimate ? { ...dontAnimate } : {}\n }\n\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {}\n refs.current.lastAnimateAt = Date.now()\n return\n }\n\n // after hydration, use simpler logic\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {}\n refs.current.lastDoAnimate = doAnimate ? { ...doAnimate } : {}\n return\n }\n\n flushAnimation({\n doAnimate,\n dontAnimate,\n animationOptions,\n })\n }, [style, isExiting, disableAnimation])\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug'] && props['debug'] !== 'profile') {\n console.groupCollapsed(`[motion] render`)\n console.info({\n style,\n doAnimate,\n dontAnimate,\n scope,\n animationOptions,\n isExiting,\n isFirstRender: refs.current.isFirstRender,\n animationProps,\n })\n console.groupEnd()\n }\n }\n\n return {\n style: firstRenderStyle,\n ref: scope,\n render: 'div',\n }\n },\n\n useAnimatedNumber(initial): UniversalAnimatedNumber<MotionAnimatedNumber> {\n const motionValue = useMotionValue(initial)\n\n return React.useMemo(\n () => ({\n getInstance() {\n return motionValue\n },\n getValue() {\n return motionValue.get()\n },\n setValue(next, config = { type: 'spring' }, onFinish) {\n if (config.type === 'direct') {\n MotionValueStrategy.set(motionValue, { type: 'direct' })\n motionValue.set(next)\n onFinish?.()\n return\n }\n\n MotionValueStrategy.set(motionValue, config)\n\n // we intentionally DO NOT animate the motion value itself here\n // (via framer-motion's imperative animate(motionValue, next)).\n // doing so drives the JS value over time, which fires a 'change'\n // event per frame, and each change event kicks off a new DOM\n // animate(node, ...) that cancels the previous one — the DOM\n // never reaches the target (double-animation stall).\n //\n // instead we jump the motion value to `next` synchronously. the\n // animated component's change handler receives a single change\n // event, computes the final webStyle, and drives the visible\n // animation via DOM animate(node, webStyle, springConfig). that\n // DOM animation is the real timing source.\n //\n // to make `onFinish` resolve when the VISIBLE animation finishes\n // (not synchronously on the change event), we stash it in\n // PendingMotionOnFinish here and the change handler chains it to\n // the DOM animate() controls.\n if (onFinish) {\n // if a previous setValue is still pending on this motion value,\n // fire it now — the new setValue will cancel the prior DOM\n // animation, and the caller is still owed a completion signal.\n const prior = PendingMotionOnFinish.get(motionValue)\n if (prior) {\n PendingMotionOnFinish.delete(motionValue)\n prior()\n }\n PendingMotionOnFinish.set(motionValue, onFinish)\n }\n\n motionValue.set(next)\n },\n stop() {\n motionValue.stop()\n },\n }),\n [motionValue]\n )\n },\n\n useAnimatedNumberReaction({ value }, onValue) {\n const instance = value.getInstance() as MotionValue<number>\n useMotionValueEvent(instance, 'change', onValue)\n },\n\n useAnimatedNumberStyle(val, getStyleProp) {\n const motionValue = val.getInstance() as MotionValue<number>\n const getStyleRef = useRef<typeof getStyleProp>(getStyleProp)\n\n // we need to change useAnimatedNumberStyle to have dep args to be concurrent safe\n getStyleRef.current = getStyleProp\n\n return useMemo(() => {\n return {\n getStyle: (cur) => {\n return getStyleRef.current(cur)\n },\n motionValue,\n } satisfies MotionAnimatedNumberStyle\n }, [])\n },\n\n useAnimatedNumbersStyle(vals, getStyleProp) {\n const motionValues = vals.map((v) => v.getInstance() as MotionValue<number>)\n const getStyleRef = useRef<typeof getStyleProp>(getStyleProp)\n getStyleRef.current = getStyleProp\n\n return useMemo(() => {\n return {\n getStyle: (...currentValues: number[]) => getStyleRef.current(...currentValues),\n motionValues,\n } satisfies MotionAnimatedNumberStyle\n }, [])\n },\n }\n\n function getMotionAnimatedProps(\n props: { transition?: TransitionProp | null; animateOnly?: string[] },\n style: Record<string, unknown>,\n disable: boolean,\n animationState: 'enter' | 'exit' | 'default' = 'default',\n transitionOverride?: TransitionProp | null\n ): AnimationProps {\n if (disable) {\n return {\n dontAnimate: style,\n }\n }\n\n const animationOptions = getAnimationOptions(\n transitionOverride ?? props.transition ?? null,\n animationState\n )\n\n let dontAnimate: Record<string, unknown> | undefined\n let doAnimate: Record<string, unknown> | undefined\n\n const animateOnly = props.animateOnly as string[] | undefined\n for (const key in style) {\n const value = style[key]\n if (disableAnimationProps.has(key) || (animateOnly && !animateOnly.includes(key))) {\n dontAnimate ||= {}\n dontAnimate[key] = value\n } else {\n doAnimate ||= {}\n doAnimate[key] = value\n }\n }\n\n return {\n dontAnimate,\n doAnimate,\n animationOptions,\n }\n }\n\n function getAnimationOptions(\n transitionProp: TransitionProp | null,\n animationState: 'enter' | 'exit' | 'default' = 'default'\n ): TransitionAnimationOptions {\n const normalized = normalizeTransition(transitionProp)\n\n let effectiveKey = getEffectiveAnimation(normalized, animationState)\n\n // fallback: if we have enter/exit defined but state is 'default' and no default key,\n // use enter timing as fallback to avoid empty animation options\n if (!effectiveKey && animationState === 'default') {\n effectiveKey = normalized.enter || normalized.exit || null\n }\n\n const globalConfigOverride: Record<string, unknown> | undefined = normalized.config\n ? { ...normalized.config }\n : undefined\n\n if (\n !effectiveKey &&\n Object.keys(normalized.properties).length === 0 &&\n !globalConfigOverride\n ) {\n return {}\n }\n\n const defaultConfig = effectiveKey ? withInferredType(animations[effectiveKey]) : null\n\n const delay = normalized.delay\n\n // framer motion's animate() expects default config at the TOP LEVEL\n const result: TransitionAnimationOptions = {}\n\n if (defaultConfig) {\n Object.assign(result, defaultConfig)\n }\n\n if (globalConfigOverride) {\n Object.assign(result, globalConfigOverride)\n if (\n result.type === undefined &&\n result.duration !== undefined &&\n result.damping === undefined &&\n result.stiffness === undefined &&\n result.mass === undefined\n ) {\n result.type = 'tween'\n }\n }\n\n if (delay) {\n result.delay = delay\n }\n\n if (defaultConfig || globalConfigOverride || delay) {\n result.default = {\n ...defaultConfig,\n ...globalConfigOverride,\n ...(delay ? { delay } : null),\n }\n }\n\n for (const [propName, animationNameOrConfig] of Object.entries(\n normalized.properties\n )) {\n if (typeof animationNameOrConfig === 'string') {\n result[propName] = withInferredType(animations[animationNameOrConfig])\n } else if (animationNameOrConfig && typeof animationNameOrConfig === 'object') {\n const baseConfig = animationNameOrConfig.type\n ? withInferredType(animations[animationNameOrConfig.type])\n : defaultConfig\n\n result[propName] = {\n ...baseConfig,\n ...animationNameOrConfig,\n } as ValueTransition\n }\n }\n\n // we standardize to ms across drivers, motion expects s\n convertMsToS(result as ValueTransition)\n convertMsToS(result.default)\n for (const key in result) {\n if (key !== 'default' && typeof result[key] === 'object') {\n convertMsToS(result[key])\n }\n }\n\n return result\n }\n}\n\nfunction withInferredType(config: AnimationConfig | undefined): AnimationConfig {\n if (!config) {\n return { type: 'spring' }\n }\n const isTimingBased =\n config.duration !== undefined &&\n config.damping === undefined &&\n config.stiffness === undefined &&\n config.mass === undefined\n return { type: isTimingBased ? 'tween' : 'spring', ...config }\n}\n\nfunction convertMsToS(config: ValueTransition | undefined) {\n if (!config) return\n if (typeof config.delay === 'number') config.delay = config.delay / 1000\n if (typeof config.duration === 'number') {\n const isTimingBased =\n config.type === 'tween' ||\n (config.type === undefined &&\n config.damping === undefined &&\n config.stiffness === undefined &&\n config.mass === undefined)\n if (isTimingBased) {\n config.duration = config.duration / 1000\n }\n }\n}\n\nfunction removeRemovedStyles(\n prev: object,\n next: object,\n node: HTMLElement,\n dontClearIfIn?: object\n) {\n for (const key in prev) {\n if (!(key in next)) {\n if (dontClearIfIn && key in dontClearIfIn) {\n continue\n }\n node.style[key] = ''\n }\n }\n}\n\n// truly non-animatable CSS properties (discrete, keyword-based, no interpolation)\n// properties like margin, maxHeight, zIndex, etc are animatable and intentionally excluded\nexport const disableAnimationProps: Set<string> = new Set<string>([\n 'alignContent',\n 'alignItems',\n 'boxSizing',\n 'contain',\n 'containerType',\n 'display',\n 'flexBasis',\n 'flexDirection',\n 'fontFamily',\n 'justifyContent',\n 'overflow',\n 'overflowX',\n 'overflowY',\n 'pointerEvents',\n 'position',\n 'textWrap',\n 'userSelect',\n])\n\nconst MotionView = createMotionView('div')\nconst MotionText = createMotionView('span')\n\nfunction createMotionView(defaultTag: string) {\n const isText = defaultTag === 'span'\n\n const Component = forwardRef((propsIn: any, ref) => {\n const { forwardedRef, animation, render = defaultTag, style, ...propsRest } = propsIn\n const [scope, animate] = useAnimateSSRSafe()\n const hostRef = useRef<HTMLElement>(null)\n const composedRefs = useComposedRefs(forwardedRef, ref, hostRef, scope)\n\n const stateRef = useRef<any>(null)\n if (!stateRef.current) {\n stateRef.current = {\n get host() {\n return hostRef.current\n },\n }\n }\n\n const [_, state] = useThemeWithState({})\n\n const styles = Array.isArray(style) ? style : [style]\n\n const [animatedStyle, nonAnimatedStyles] = (() => {\n let animatedStyle: MotionAnimatedNumberStyle | undefined\n const nonAnimatedStyles: typeof styles = []\n for (const style of styles) {\n if (style.getStyle) {\n animatedStyle = style as MotionAnimatedNumberStyle\n } else {\n nonAnimatedStyles.push(style)\n }\n }\n return [animatedStyle, nonAnimatedStyles] as const\n })()\n\n function getProps(props: any) {\n const out = getSplitStyles(\n props,\n isText ? Text.staticConfig : View.staticConfig,\n state?.theme,\n state?.name,\n {\n unmounted: false,\n },\n {\n isAnimated: false,\n noClass: true,\n resolveValues: 'auto',\n }\n )\n\n if (!out) {\n return {}\n }\n\n if (out.viewProps.style) {\n fixStyles(out.viewProps.style)\n styleToCSS(out.viewProps.style)\n }\n\n return out.viewProps\n }\n\n const props = getProps({ ...propsRest, style: nonAnimatedStyles })\n const Element = render || 'div'\n const transformedProps = hooks.usePropsTransform?.(render, props, stateRef, false)\n\n useEffect(() => {\n if (!animatedStyle) return\n\n // multi-value path: subscribe to all motion values\n if (animatedStyle.motionValues) {\n const mvs = animatedStyle.motionValues\n const unsubs = mvs.map((mv) =>\n mv.on('change', () => {\n const currentValues = mvs.map((v) => v.get())\n const nextStyle = animatedStyle.getStyle(...currentValues)\n const animationConfig = MotionValueStrategy.get(mv)\n const node = hostRef.current\n\n const webStyle = getProps({ style: nextStyle }).style\n\n if (webStyle && node instanceof HTMLElement) {\n const motionAnimationConfig =\n animationConfig?.type === 'timing'\n ? { type: 'tween', duration: (animationConfig?.duration || 0) / 1000 }\n : animationConfig?.type === 'direct'\n ? { type: 'tween', duration: 0 }\n : { type: 'spring', ...(animationConfig as any) }\n\n const controls = animate(node, webStyle as any, motionAnimationConfig)\n settlePendingMotionOnFinish(mv, controls)\n }\n })\n )\n return () => unsubs.forEach((fn) => fn())\n }\n\n // single-value path\n if (!animatedStyle.motionValue) return\n\n return animatedStyle.motionValue.on('change', (value) => {\n const nextStyle = animatedStyle.getStyle(value)\n const animationConfig = MotionValueStrategy.get(animatedStyle.motionValue!)\n const node = hostRef.current\n\n const webStyle = getProps({ style: nextStyle }).style\n\n if (webStyle && node instanceof HTMLElement) {\n const motionAnimationConfig =\n animationConfig?.type === 'timing'\n ? {\n type: 'tween',\n duration: (animationConfig?.duration || 0) / 1000,\n }\n : animationConfig?.type === 'direct'\n ? { type: 'tween', duration: 0 }\n : {\n type: 'spring',\n ...(animationConfig as any),\n }\n\n const controls = animate(node, webStyle as any, motionAnimationConfig)\n settlePendingMotionOnFinish(animatedStyle.motionValue!, controls)\n }\n })\n }, [animatedStyle])\n\n return <Element {...transformedProps} ref={composedRefs} />\n })\n\n Component['acceptRenderProp'] = true\n\n return Component\n}\n\nfunction getDiff<T extends Record<string, unknown>>(\n previous: T | null,\n next: T\n): Record<string, unknown> | null {\n if (!previous) {\n return next\n }\n\n let diff: Record<string, unknown> | null = null\n for (const key in next) {\n if (next[key] !== previous[key]) {\n diff ||= {}\n diff[key] = next[key]\n }\n }\n return diff\n}\n\n// motion.dev can't animate to \"transparent\" - convert it to rgba\n// try to extract RGB from previous or next value for smooth color transitions\nfunction fixTransparentColors(\n diff: Record<string, unknown>,\n previous: Record<string, unknown> | null,\n next?: Record<string, unknown> | null\n): Record<string, unknown> {\n let result = diff\n for (const key in diff) {\n if (diff[key] === 'transparent') {\n let fixed = 'rgba(0, 0, 0, 0)'\n const candidates = [previous?.[key], next?.[key]]\n for (const candidate of candidates) {\n if (typeof candidate === 'string' && candidate !== 'transparent') {\n const rgbaMatch = candidate.match(/^rgba?\\(([^,]+),\\s*([^,]+),\\s*([^,)]+)/)\n if (rgbaMatch) {\n fixed = `rgba(${rgbaMatch[1]}, ${rgbaMatch[2]}, ${rgbaMatch[3]}, 0)`\n break\n }\n }\n }\n if (result === diff) {\n result = { ...diff }\n }\n result[key] = fixed\n }\n }\n return result\n}\n"
|
|
10
10
|
]
|
|
11
11
|
}
|