@tamagui/animations-reanimated 2.2.0 → 2.3.1

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.
@@ -490,6 +490,16 @@ function createAnimations(animationsConfig) {
490
490
  staticStyles: staticStyles2
491
491
  };
492
492
  }, [disableAnimation, style, isDark, isMounting, props.animateOnly]);
493
+ const pseudoActiveRef = (0, import_react.useRef)(false);
494
+ const isExitingJSRef = (0, import_react.useRef)(false);
495
+ isExitingJSRef.current = isExiting;
496
+ (0, import_core.useIsomorphicLayoutEffect)(() => {
497
+ if ((isExiting || !pseudoActiveRef.current) && animatedTargetsRef.value !== null) {
498
+ animatedTargetsRef.value = null;
499
+ staticTargetsRef.value = null;
500
+ transformTargetsRef.value = null;
501
+ }
502
+ });
493
503
  const {
494
504
  baseConfig,
495
505
  propertyConfigs
@@ -503,8 +513,8 @@ function createAnimations(animationsConfig) {
503
513
  propertyConfigs: {}
504
514
  };
505
515
  }
506
- return buildTransitionConfig(props.transition, animations, animationState, getStyleKeys(animatedStyles));
507
- }, [isHydrating, props.transition, animatedStyles, animationState]);
516
+ return buildTransitionConfig(effectiveTransition, animations, animationState, getStyleKeys(animatedStyles));
517
+ }, [isHydrating, effectiveTransition, animatedStyles, animationState]);
508
518
  const configRef = (0, import_react_native_reanimated.useSharedValue)({
509
519
  baseConfig,
510
520
  propertyConfigs,
@@ -519,7 +529,9 @@ function createAnimations(animationsConfig) {
519
529
  isHydrating
520
530
  };
521
531
  }, [baseConfig, propertyConfigs, disableAnimation, isHydrating]);
522
- useStyleEmitter?.((nextStyle, effectiveTransition2) => {
532
+ useStyleEmitter?.((nextStyle, effectiveTransition2, pseudoActive) => {
533
+ if (isExitingJSRef.current) return;
534
+ pseudoActiveRef.current = pseudoActive === true;
523
535
  const animateOnly = props.animateOnly;
524
536
  const animated = {};
525
537
  const statics = {};
@@ -620,7 +632,7 @@ function createAnimations(animationsConfig) {
620
632
  const emitterTransforms = transformTargetsRef.value;
621
633
  const hasEmitterUpdates = emitterAnimated !== null;
622
634
  const animatedValues = hasEmitterUpdates ? emitterAnimated : animatedStyles;
623
- const staticValues = hasEmitterUpdates ? emitterStatic : {};
635
+ const staticValues = hasEmitterUpdates ? emitterStatic : staticStyles;
624
636
  const currentlyExiting = isExitingRef.value;
625
637
  const currentCycleId = exitCycleIdShared.value;
626
638
  for (const key in staticValues) {
@@ -674,7 +686,7 @@ function createAnimations(animationsConfig) {
674
686
  }
675
687
  }
676
688
  return result;
677
- }, import_core.isWeb ? [animatedStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
689
+ }, import_core.isWeb ? [animatedStyles, staticStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
678
690
  // pass SharedValues so the mapper watches them on web (no babel plugin)
679
691
  animatedTargetsRef, staticTargetsRef, transformTargetsRef, isExitingRef, exitCycleIdShared, markExitKeyDone] : void 0);
680
692
  silenceAnimatedComponentDevCheck(animatedStyle);
@@ -553,6 +553,16 @@ function createAnimations(animationsConfig) {
553
553
  staticStyles: staticStyles2
554
554
  };
555
555
  }, [disableAnimation, style, isDark, isMounting, props.animateOnly]);
556
+ var pseudoActiveRef = (0, import_react.useRef)(false);
557
+ var isExitingJSRef = (0, import_react.useRef)(false);
558
+ isExitingJSRef.current = isExiting;
559
+ (0, import_core.useIsomorphicLayoutEffect)(function () {
560
+ if ((isExiting || !pseudoActiveRef.current) && animatedTargetsRef.value !== null) {
561
+ animatedTargetsRef.value = null;
562
+ staticTargetsRef.value = null;
563
+ transformTargetsRef.value = null;
564
+ }
565
+ });
556
566
  var {
557
567
  baseConfig,
558
568
  propertyConfigs
@@ -566,8 +576,8 @@ function createAnimations(animationsConfig) {
566
576
  propertyConfigs: {}
567
577
  };
568
578
  }
569
- return buildTransitionConfig(props.transition, animations, animationState, getStyleKeys(animatedStyles));
570
- }, [isHydrating, props.transition, animatedStyles, animationState]);
579
+ return buildTransitionConfig(effectiveTransition, animations, animationState, getStyleKeys(animatedStyles));
580
+ }, [isHydrating, effectiveTransition, animatedStyles, animationState]);
571
581
  var configRef = (0, import_react_native_reanimated.useSharedValue)({
572
582
  baseConfig,
573
583
  propertyConfigs,
@@ -582,7 +592,9 @@ function createAnimations(animationsConfig) {
582
592
  isHydrating
583
593
  };
584
594
  }, [baseConfig, propertyConfigs, disableAnimation, isHydrating]);
585
- useStyleEmitter === null || useStyleEmitter === void 0 ? void 0 : useStyleEmitter(function (nextStyle, effectiveTransition2) {
595
+ useStyleEmitter === null || useStyleEmitter === void 0 ? void 0 : useStyleEmitter(function (nextStyle, effectiveTransition2, pseudoActive) {
596
+ if (isExitingJSRef.current) return;
597
+ pseudoActiveRef.current = pseudoActive === true;
586
598
  var animateOnly2 = props.animateOnly;
587
599
  var animated = {};
588
600
  var statics = {};
@@ -738,7 +750,7 @@ function createAnimations(animationsConfig) {
738
750
  var emitterTransforms = transformTargetsRef.value;
739
751
  var hasEmitterUpdates = emitterAnimated !== null;
740
752
  var animatedValues = hasEmitterUpdates ? emitterAnimated : animatedStyles;
741
- var staticValues = hasEmitterUpdates ? emitterStatic : {};
753
+ var staticValues = hasEmitterUpdates ? emitterStatic : staticStyles;
742
754
  var currentlyExiting = isExitingRef.value;
743
755
  var currentCycleId = exitCycleIdShared.value;
744
756
  for (var key3 in staticValues) {
@@ -798,7 +810,7 @@ function createAnimations(animationsConfig) {
798
810
  }
799
811
  }
800
812
  return result;
801
- }, import_core.isWeb ? [animatedStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
813
+ }, import_core.isWeb ? [animatedStyles, staticStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
802
814
  // pass SharedValues so the mapper watches them on web (no babel plugin)
803
815
  animatedTargetsRef, staticTargetsRef, transformTargetsRef, isExitingRef, exitCycleIdShared, markExitKeyDone] : void 0);
804
816
  silenceAnimatedComponentDevCheck(animatedStyle);
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createAnimations_exports","__export","createAnimations","module","exports","import_jsx_runtime","require","import_animation_helpers","import_core","import_use_presence","import_react","__toESM","import_react_native_reanimated","_type_of","obj","Symbol","constructor","getDefaultExport","module2","__esModule","toStringTag","default","Animated","silenceAnimatedComponentDevCheck","style","process","env","NODE_ENV","isWeb","Object","defineProperty","configurable","enumerable","resolveDynamicValue","isDark","dynamic","dark","light","cloneAnimationValue","Array","isArray","map","next","key","cloneTransitionConfig","config","createReanimatedConfig","source","applyAnimation","targetValue","callback","delay","reanimatedConfig","animatedValue","type","withTiming","withSpring","withDelay","ANIMATABLE_PROPERTIES","transform","opacity","height","width","minWidth","minHeight","maxWidth","maxHeight","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","fontSize","fontWeight","lineHeight","letterSpacing","left","right","top","bottom","margin","marginTop","marginBottom","marginLeft","marginRight","marginHorizontal","marginVertical","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","paddingHorizontal","paddingVertical","gap","rowGap","columnGap","flex","flexGrow","flexShrink","canAnimateProperty","animateOnly","startsWith","includes","createWebAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","forwardRef","propsIn","ref","_hooks_usePropsTransform","forwardedRef","render","rest","hostRef","useRef","composedRefs","useComposedRefs","stateRef","host","current","themeState","useThemeWithState","_themeState_theme","_themeState_name","result","getSplitStyles","Text","staticConfig","View","theme","name","unmounted","isAnimated","noClass","_result_viewProps","viewProps","Element","transformedProps","hooks","usePropsTransform","call","jsx","acceptRenderProp","AnimatedView","AnimatedText","buildTransitionConfig","transition","animations","animationState","styleKeys","normalized","normalizeTransition","effectiveKey","getEffectiveAnimation","_animations_effectiveKey","base","duration","damping","stiffness","mass","propertyConfigs","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","propAnimation","properties","_animations_propAnimation","configType","_animations_configType","baseForProp","err","return","baseConfig","getStyleKeys","keys","Set","t","add","animationsConfig","needsCustomComponent","isReactNative","inputStyle","outputStyle","avoidReRenders","usePresence","ResetPresence","useAnimatedNumber","initial","sharedValue","useSharedValue","useMemo","getInstance","getValue","setValue","arguments","length","onFinish","cb","runOnJS","animationConfig","runOnUI","animationConfig2","stop","cancelAnimation","useAnimatedNumberReaction","param","onValue","instance","useAnimatedReaction","prev","useAnimatedNumberStyle","val","getStyle","useAnimatedStyle","styleVal","useDerivedValue","animatedStyle","useAnimatedNumbersStyle","vals","instances","v","currentValues","inst","useAnimations","animationProps","props","presence","componentState","useStyleEmitter","themeName","styleState","isHydrating","isMounting","isEntering","isExiting","wasEnteringRef","justFinishedEntering","useEffect","_styleState_effectiveTransition","effectiveTransition","animationKey","disableAnimation","sendExitComplete","exitCycleIdRef","pendingExitKeysRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","markExitKeyDone","useEvent","key3","cycleId","finished","delete","size","isExitingRef","exitCycleIdShared","clear","useIsomorphicLayoutEffect","animatedTargetsRef","staticTargetsRef","transformTargetsRef","animatedStyles","staticStyles","animated","staticStyles2","animateOnly2","rawValue","key1","configRef","nextStyle","effectiveTransition2","statics","transforms2","transitionToUse","newBase","newPropertyConfigs","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","t2","tKey2","tVal","push","debug","console","info","transforms","exitKeysRegistered","exitKeys","key2","tKey","_loop","key12","animatedValues","_config_propertyConfigs_key","propConfig","currentlyExiting","capturedKey","capturedCycleId","currentCycleId"],"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","module","exports","import_jsx_runtime","require","import_animation_helpers","import_core","import_use_presence","import_react","__toESM","import_react_native_reanimated","_type_of","obj","Symbol","constructor","getDefaultExport","module2","__esModule","toStringTag","default","Animated","silenceAnimatedComponentDevCheck","style","process","env","NODE_ENV","isWeb","Object","defineProperty","configurable","enumerable","resolveDynamicValue","isDark","dynamic","dark","light","cloneAnimationValue","Array","isArray","map","next","key","cloneTransitionConfig","config","createReanimatedConfig","source","applyAnimation","targetValue","callback","delay","reanimatedConfig","animatedValue","type","withTiming","withSpring","withDelay","ANIMATABLE_PROPERTIES","transform","opacity","height","width","minWidth","minHeight","maxWidth","maxHeight","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","fontSize","fontWeight","lineHeight","letterSpacing","left","right","top","bottom","margin","marginTop","marginBottom","marginLeft","marginRight","marginHorizontal","marginVertical","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","paddingHorizontal","paddingVertical","gap","rowGap","columnGap","flex","flexGrow","flexShrink","canAnimateProperty","animateOnly","startsWith","includes","createWebAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","forwardRef","propsIn","ref","_hooks_usePropsTransform","forwardedRef","render","rest","hostRef","useRef","composedRefs","useComposedRefs","stateRef","host","current","themeState","useThemeWithState","_themeState_theme","_themeState_name","result","getSplitStyles","Text","staticConfig","View","theme","name","unmounted","isAnimated","noClass","_result_viewProps","viewProps","Element","transformedProps","hooks","usePropsTransform","call","jsx","acceptRenderProp","AnimatedView","AnimatedText","buildTransitionConfig","transition","animations","animationState","styleKeys","normalized","normalizeTransition","effectiveKey","getEffectiveAnimation","_animations_effectiveKey","base","duration","damping","stiffness","mass","propertyConfigs","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","propAnimation","properties","_animations_propAnimation","configType","_animations_configType","baseForProp","err","return","baseConfig","getStyleKeys","keys","Set","t","add","animationsConfig","needsCustomComponent","isReactNative","inputStyle","outputStyle","avoidReRenders","usePresence","ResetPresence","useAnimatedNumber","initial","sharedValue","useSharedValue","useMemo","getInstance","getValue","setValue","arguments","length","onFinish","cb","runOnJS","animationConfig","runOnUI","animationConfig2","stop","cancelAnimation","useAnimatedNumberReaction","param","onValue","instance","useAnimatedReaction","prev","useAnimatedNumberStyle","val","getStyle","useAnimatedStyle","styleVal","useDerivedValue","animatedStyle","useAnimatedNumbersStyle","vals","instances","v","currentValues","inst","useAnimations","animationProps","props","presence","componentState","useStyleEmitter","themeName","styleState","isHydrating","isMounting","isEntering","isExiting","wasEnteringRef","justFinishedEntering","useEffect","_styleState_effectiveTransition","effectiveTransition","animationKey","disableAnimation","sendExitComplete","exitCycleIdRef","pendingExitKeysRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","markExitKeyDone","useEvent","key3","cycleId","finished","staticStyles","delete","size","isExitingRef","exitCycleIdShared","clear","useIsomorphicLayoutEffect","animatedTargetsRef","staticTargetsRef","transformTargetsRef","animatedStyles","animated","staticStyles2","animateOnly2","rawValue","key1","pseudoActiveRef","isExitingJSRef","configRef","nextStyle","effectiveTransition2","pseudoActive","statics","transforms2","transitionToUse","newBase","newPropertyConfigs","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","t2","tKey2","tVal","push","debug","console","info","transforms","exitKeysRegistered","exitKeys","key2","tKey","_loop","key12","animatedValues","_config_propertyConfigs_key","propConfig","currentlyExiting","capturedKey","capturedCycleId","currentCycleId"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -452,6 +452,16 @@ function createAnimations(animationsConfig) {
452
452
  staticStyles: staticStyles2
453
453
  };
454
454
  }, [disableAnimation, style, isDark, isMounting, props.animateOnly]);
455
+ const pseudoActiveRef = useRef(false);
456
+ const isExitingJSRef = useRef(false);
457
+ isExitingJSRef.current = isExiting;
458
+ useIsomorphicLayoutEffect(() => {
459
+ if ((isExiting || !pseudoActiveRef.current) && animatedTargetsRef.value !== null) {
460
+ animatedTargetsRef.value = null;
461
+ staticTargetsRef.value = null;
462
+ transformTargetsRef.value = null;
463
+ }
464
+ });
455
465
  const {
456
466
  baseConfig,
457
467
  propertyConfigs
@@ -465,8 +475,8 @@ function createAnimations(animationsConfig) {
465
475
  propertyConfigs: {}
466
476
  };
467
477
  }
468
- return buildTransitionConfig(props.transition, animations, animationState, getStyleKeys(animatedStyles));
469
- }, [isHydrating, props.transition, animatedStyles, animationState]);
478
+ return buildTransitionConfig(effectiveTransition, animations, animationState, getStyleKeys(animatedStyles));
479
+ }, [isHydrating, effectiveTransition, animatedStyles, animationState]);
470
480
  const configRef = useSharedValue({
471
481
  baseConfig,
472
482
  propertyConfigs,
@@ -481,7 +491,9 @@ function createAnimations(animationsConfig) {
481
491
  isHydrating
482
492
  };
483
493
  }, [baseConfig, propertyConfigs, disableAnimation, isHydrating]);
484
- useStyleEmitter?.((nextStyle, effectiveTransition2) => {
494
+ useStyleEmitter?.((nextStyle, effectiveTransition2, pseudoActive) => {
495
+ if (isExitingJSRef.current) return;
496
+ pseudoActiveRef.current = pseudoActive === true;
485
497
  const animateOnly = props.animateOnly;
486
498
  const animated = {};
487
499
  const statics = {};
@@ -582,7 +594,7 @@ function createAnimations(animationsConfig) {
582
594
  const emitterTransforms = transformTargetsRef.value;
583
595
  const hasEmitterUpdates = emitterAnimated !== null;
584
596
  const animatedValues = hasEmitterUpdates ? emitterAnimated : animatedStyles;
585
- const staticValues = hasEmitterUpdates ? emitterStatic : {};
597
+ const staticValues = hasEmitterUpdates ? emitterStatic : staticStyles;
586
598
  const currentlyExiting = isExitingRef.value;
587
599
  const currentCycleId = exitCycleIdShared.value;
588
600
  for (const key in staticValues) {
@@ -636,7 +648,7 @@ function createAnimations(animationsConfig) {
636
648
  }
637
649
  }
638
650
  return result;
639
- }, isWeb ? [animatedStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
651
+ }, isWeb ? [animatedStyles, staticStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
640
652
  // pass SharedValues so the mapper watches them on web (no babel plugin)
641
653
  animatedTargetsRef, staticTargetsRef, transformTargetsRef, isExitingRef, exitCycleIdShared, markExitKeyDone] : void 0);
642
654
  silenceAnimatedComponentDevCheck(animatedStyle);
@@ -1 +1 @@
1
- {"version":3,"names":["getEffectiveAnimation","normalizeTransition","getSplitStyles","hooks","isWeb","Text","useComposedRefs","useEvent","useIsomorphicLayoutEffect","useThemeWithState","View","ResetPresence","usePresence","React","forwardRef","useMemo","useRef","Animated_","cancelAnimation","runOnJS","runOnUI","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withDelay","withSpring","withTiming","jsx","getDefaultExport","module","mod","__esModule","Symbol","toStringTag","default","Animated","silenceAnimatedComponentDevCheck","style","process","env","NODE_ENV","Object","defineProperty","configurable","enumerable","value","resolveDynamicValue","isDark","dynamic","dark","light","cloneAnimationValue","Array","isArray","map","next","key","cloneTransitionConfig","config","createReanimatedConfig","source","applyAnimation","targetValue","callback","delay","reanimatedConfig","animatedValue","type","ANIMATABLE_PROPERTIES","transform","opacity","height","width","minWidth","minHeight","maxWidth","maxHeight","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","fontSize","fontWeight","lineHeight","letterSpacing","left","right","top","bottom","margin","marginTop","marginBottom","marginLeft","marginRight","marginHorizontal","marginVertical","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","paddingHorizontal","paddingVertical","gap","rowGap","columnGap","flex","flexGrow","flexShrink","canAnimateProperty","animateOnly","startsWith","includes","createWebAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","propsIn","ref","forwardedRef","render","rest","hostRef","composedRefs","stateRef","host","current","themeState","result","staticConfig","theme","name","unmounted","isAnimated","noClass","viewProps","Element","transformedProps","usePropsTransform","acceptRenderProp","AnimatedView","AnimatedText","buildTransitionConfig","transition","animations","animationState","styleKeys","normalized","effectiveKey","base","duration","damping","stiffness","mass","propertyConfigs","propAnimation","properties","configType","baseForProp","baseConfig","getStyleKeys","keys","Set","t","add","createAnimations","animationsConfig","needsCustomComponent","isReactNative","inputStyle","outputStyle","avoidReRenders","useAnimatedNumber","initial","sharedValue","getInstance","getValue","setValue","onFinish","cb","animationConfig","animationConfig2","stop","useAnimatedNumberReaction","onValue","instance","prev","useAnimatedNumberStyle","val","getStyle","styleVal","animatedStyle","useAnimatedNumbersStyle","vals","instances","v","currentValues","inst","useAnimations","animationProps","props","presence","componentState","useStyleEmitter","themeName","styleState","isHydrating","isMounting","isEntering","isExiting","wasEnteringRef","justFinishedEntering","useEffect","effectiveTransition","animationKey","disableAnimation","sendExitComplete","exitCycleIdRef","pendingExitKeysRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","markExitKeyDone","cycleId","finished","delete","size","isExitingRef","exitCycleIdShared","clear","animatedTargetsRef","staticTargetsRef","transformTargetsRef","animatedStyles","staticStyles","animated","staticStyles2","rawValue","configRef","nextStyle","effectiveTransition2","statics","transforms","transitionToUse","newBase","newPropertyConfigs","tKey","tVal","push","debug","console","info","exitKeysRegistered","exitKeys","length","emitterAnimated","emitterStatic","emitterTransforms","hasEmitterUpdates","animatedValues","staticValues","currentlyExiting","currentCycleId","propConfig","capturedKey","capturedCycleId","validTransforms","transformKey"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getEffectiveAnimation","normalizeTransition","getSplitStyles","hooks","isWeb","Text","useComposedRefs","useEvent","useIsomorphicLayoutEffect","useThemeWithState","View","ResetPresence","usePresence","React","forwardRef","useMemo","useRef","Animated_","cancelAnimation","runOnJS","runOnUI","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withDelay","withSpring","withTiming","jsx","getDefaultExport","module","mod","__esModule","Symbol","toStringTag","default","Animated","silenceAnimatedComponentDevCheck","style","process","env","NODE_ENV","Object","defineProperty","configurable","enumerable","value","resolveDynamicValue","isDark","dynamic","dark","light","cloneAnimationValue","Array","isArray","map","next","key","cloneTransitionConfig","config","createReanimatedConfig","source","applyAnimation","targetValue","callback","delay","reanimatedConfig","animatedValue","type","ANIMATABLE_PROPERTIES","transform","opacity","height","width","minWidth","minHeight","maxWidth","maxHeight","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","fontSize","fontWeight","lineHeight","letterSpacing","left","right","top","bottom","margin","marginTop","marginBottom","marginLeft","marginRight","marginHorizontal","marginVertical","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","paddingHorizontal","paddingVertical","gap","rowGap","columnGap","flex","flexGrow","flexShrink","canAnimateProperty","animateOnly","startsWith","includes","createWebAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","propsIn","ref","forwardedRef","render","rest","hostRef","composedRefs","stateRef","host","current","themeState","result","staticConfig","theme","name","unmounted","isAnimated","noClass","viewProps","Element","transformedProps","usePropsTransform","acceptRenderProp","AnimatedView","AnimatedText","buildTransitionConfig","transition","animations","animationState","styleKeys","normalized","effectiveKey","base","duration","damping","stiffness","mass","propertyConfigs","propAnimation","properties","configType","baseForProp","baseConfig","getStyleKeys","keys","Set","t","add","createAnimations","animationsConfig","needsCustomComponent","isReactNative","inputStyle","outputStyle","avoidReRenders","useAnimatedNumber","initial","sharedValue","getInstance","getValue","setValue","onFinish","cb","animationConfig","animationConfig2","stop","useAnimatedNumberReaction","onValue","instance","prev","useAnimatedNumberStyle","val","getStyle","styleVal","animatedStyle","useAnimatedNumbersStyle","vals","instances","v","currentValues","inst","useAnimations","animationProps","props","presence","componentState","useStyleEmitter","themeName","styleState","isHydrating","isMounting","isEntering","isExiting","wasEnteringRef","justFinishedEntering","useEffect","effectiveTransition","animationKey","disableAnimation","sendExitComplete","exitCycleIdRef","pendingExitKeysRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","markExitKeyDone","cycleId","finished","delete","size","isExitingRef","exitCycleIdShared","clear","animatedTargetsRef","staticTargetsRef","transformTargetsRef","animatedStyles","staticStyles","animated","rawValue","staticStyles2","pseudoActiveRef","isExitingJSRef","configRef","nextStyle","effectiveTransition2","pseudoActive","statics","transforms","transitionToUse","newBase","newPropertyConfigs","tKey","tVal","push","debug","console","info","exitKeysRegistered","exitKeys","length","emitterAnimated","emitterStatic","emitterTransforms","hasEmitterUpdates","animatedValues","staticValues","currentlyExiting","currentCycleId","propConfig","capturedKey","capturedCycleId","validTransforms","transformKey"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -513,6 +513,16 @@ function createAnimations(animationsConfig) {
513
513
  staticStyles: staticStyles2
514
514
  };
515
515
  }, [disableAnimation, style, isDark, isMounting, props.animateOnly]);
516
+ var pseudoActiveRef = useRef(false);
517
+ var isExitingJSRef = useRef(false);
518
+ isExitingJSRef.current = isExiting;
519
+ useIsomorphicLayoutEffect(function () {
520
+ if ((isExiting || !pseudoActiveRef.current) && animatedTargetsRef.value !== null) {
521
+ animatedTargetsRef.value = null;
522
+ staticTargetsRef.value = null;
523
+ transformTargetsRef.value = null;
524
+ }
525
+ });
516
526
  var {
517
527
  baseConfig,
518
528
  propertyConfigs
@@ -526,8 +536,8 @@ function createAnimations(animationsConfig) {
526
536
  propertyConfigs: {}
527
537
  };
528
538
  }
529
- return buildTransitionConfig(props.transition, animations, animationState, getStyleKeys(animatedStyles));
530
- }, [isHydrating, props.transition, animatedStyles, animationState]);
539
+ return buildTransitionConfig(effectiveTransition, animations, animationState, getStyleKeys(animatedStyles));
540
+ }, [isHydrating, effectiveTransition, animatedStyles, animationState]);
531
541
  var configRef = useSharedValue({
532
542
  baseConfig,
533
543
  propertyConfigs,
@@ -542,7 +552,9 @@ function createAnimations(animationsConfig) {
542
552
  isHydrating
543
553
  };
544
554
  }, [baseConfig, propertyConfigs, disableAnimation, isHydrating]);
545
- useStyleEmitter === null || useStyleEmitter === void 0 ? void 0 : useStyleEmitter(function (nextStyle, effectiveTransition2) {
555
+ useStyleEmitter === null || useStyleEmitter === void 0 ? void 0 : useStyleEmitter(function (nextStyle, effectiveTransition2, pseudoActive) {
556
+ if (isExitingJSRef.current) return;
557
+ pseudoActiveRef.current = pseudoActive === true;
546
558
  var animateOnly2 = props.animateOnly;
547
559
  var animated = {};
548
560
  var statics = {};
@@ -698,7 +710,7 @@ function createAnimations(animationsConfig) {
698
710
  var emitterTransforms = transformTargetsRef.value;
699
711
  var hasEmitterUpdates = emitterAnimated !== null;
700
712
  var animatedValues = hasEmitterUpdates ? emitterAnimated : animatedStyles;
701
- var staticValues = hasEmitterUpdates ? emitterStatic : {};
713
+ var staticValues = hasEmitterUpdates ? emitterStatic : staticStyles;
702
714
  var currentlyExiting = isExitingRef.value;
703
715
  var currentCycleId = exitCycleIdShared.value;
704
716
  for (var key3 in staticValues) {
@@ -758,7 +770,7 @@ function createAnimations(animationsConfig) {
758
770
  }
759
771
  }
760
772
  return result;
761
- }, isWeb ? [animatedStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
773
+ }, isWeb ? [animatedStyles, staticStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
762
774
  // pass SharedValues so the mapper watches them on web (no babel plugin)
763
775
  animatedTargetsRef, staticTargetsRef, transformTargetsRef, isExitingRef, exitCycleIdShared, markExitKeyDone] : void 0);
764
776
  silenceAnimatedComponentDevCheck(animatedStyle);
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","getEffectiveAnimation","normalizeTransition","getSplitStyles","hooks","isWeb","Text","useComposedRefs","useEvent","useIsomorphicLayoutEffect","useThemeWithState","View","ResetPresence","usePresence","React","forwardRef","useMemo","useRef","Animated_","cancelAnimation","runOnJS","runOnUI","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withDelay","withSpring","withTiming","_type_of","obj","Symbol","constructor","getDefaultExport","module","mod","__esModule","toStringTag","default","Animated","silenceAnimatedComponentDevCheck","style","process","env","NODE_ENV","Object","defineProperty","configurable","enumerable","value","resolveDynamicValue","isDark","dynamic","dark","light","cloneAnimationValue","Array","isArray","map","next","key","cloneTransitionConfig","config","createReanimatedConfig","source","applyAnimation","targetValue","callback","delay","reanimatedConfig","animatedValue","type","ANIMATABLE_PROPERTIES","transform","opacity","height","width","minWidth","minHeight","maxWidth","maxHeight","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","fontSize","fontWeight","lineHeight","letterSpacing","left","right","top","bottom","margin","marginTop","marginBottom","marginLeft","marginRight","marginHorizontal","marginVertical","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","paddingHorizontal","paddingVertical","gap","rowGap","columnGap","flex","flexGrow","flexShrink","canAnimateProperty","animateOnly","startsWith","includes","createWebAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","propsIn","ref","_hooks_usePropsTransform","forwardedRef","render","rest","hostRef","composedRefs","stateRef","host","current","themeState","_themeState_theme","_themeState_name","result","staticConfig","theme","name","unmounted","isAnimated","noClass","_result_viewProps","viewProps","Element","transformedProps","usePropsTransform","call","acceptRenderProp","AnimatedView","AnimatedText","buildTransitionConfig","transition","animations","animationState","styleKeys","normalized","effectiveKey","_animations_effectiveKey","base","duration","damping","stiffness","mass","propertyConfigs","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","propAnimation","properties","_animations_propAnimation","configType","_animations_configType","baseForProp","err","return","baseConfig","getStyleKeys","keys","Set","t","add","createAnimations","animationsConfig","needsCustomComponent","isReactNative","inputStyle","outputStyle","avoidReRenders","useAnimatedNumber","initial","sharedValue","getInstance","getValue","setValue","arguments","length","onFinish","cb","animationConfig","animationConfig2","stop","useAnimatedNumberReaction","param","onValue","instance","prev","useAnimatedNumberStyle","val","getStyle","styleVal","animatedStyle","useAnimatedNumbersStyle","vals","instances","v","currentValues","inst","useAnimations","animationProps","props","presence","componentState","useStyleEmitter","themeName","styleState","isHydrating","isMounting","isEntering","isExiting","wasEnteringRef","justFinishedEntering","useEffect","_styleState_effectiveTransition","effectiveTransition","animationKey","disableAnimation","sendExitComplete","exitCycleIdRef","pendingExitKeysRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","markExitKeyDone","key3","cycleId","finished","delete","size","isExitingRef","exitCycleIdShared","clear","animatedTargetsRef","staticTargetsRef","transformTargetsRef","animatedStyles","staticStyles","animated","staticStyles2","animateOnly2","rawValue","key1","configRef","nextStyle","effectiveTransition2","statics","transforms2","transitionToUse","newBase","newPropertyConfigs","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","t2","tKey2","tVal","push","debug","console","info","transforms","exitKeysRegistered","exitKeys","key2","tKey","_loop","key12","animatedValues","_config_propertyConfigs_key","propConfig","currentlyExiting","capturedKey","capturedCycleId","currentCycleId","emitterAnimated","emitterStatic","emitterTransforms","hasEmitterUpdates","staticValues"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","getEffectiveAnimation","normalizeTransition","getSplitStyles","hooks","isWeb","Text","useComposedRefs","useEvent","useIsomorphicLayoutEffect","useThemeWithState","View","ResetPresence","usePresence","React","forwardRef","useMemo","useRef","Animated_","cancelAnimation","runOnJS","runOnUI","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withDelay","withSpring","withTiming","_type_of","obj","Symbol","constructor","getDefaultExport","module","mod","__esModule","toStringTag","default","Animated","silenceAnimatedComponentDevCheck","style","process","env","NODE_ENV","Object","defineProperty","configurable","enumerable","value","resolveDynamicValue","isDark","dynamic","dark","light","cloneAnimationValue","Array","isArray","map","next","key","cloneTransitionConfig","config","createReanimatedConfig","source","applyAnimation","targetValue","callback","delay","reanimatedConfig","animatedValue","type","ANIMATABLE_PROPERTIES","transform","opacity","height","width","minWidth","minHeight","maxWidth","maxHeight","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","fontSize","fontWeight","lineHeight","letterSpacing","left","right","top","bottom","margin","marginTop","marginBottom","marginLeft","marginRight","marginHorizontal","marginVertical","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","paddingHorizontal","paddingVertical","gap","rowGap","columnGap","flex","flexGrow","flexShrink","canAnimateProperty","animateOnly","startsWith","includes","createWebAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","propsIn","ref","_hooks_usePropsTransform","forwardedRef","render","rest","hostRef","composedRefs","stateRef","host","current","themeState","_themeState_theme","_themeState_name","result","staticConfig","theme","name","unmounted","isAnimated","noClass","_result_viewProps","viewProps","Element","transformedProps","usePropsTransform","call","acceptRenderProp","AnimatedView","AnimatedText","buildTransitionConfig","transition","animations","animationState","styleKeys","normalized","effectiveKey","_animations_effectiveKey","base","duration","damping","stiffness","mass","propertyConfigs","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","propAnimation","properties","_animations_propAnimation","configType","_animations_configType","baseForProp","err","return","baseConfig","getStyleKeys","keys","Set","t","add","createAnimations","animationsConfig","needsCustomComponent","isReactNative","inputStyle","outputStyle","avoidReRenders","useAnimatedNumber","initial","sharedValue","getInstance","getValue","setValue","arguments","length","onFinish","cb","animationConfig","animationConfig2","stop","useAnimatedNumberReaction","param","onValue","instance","prev","useAnimatedNumberStyle","val","getStyle","styleVal","animatedStyle","useAnimatedNumbersStyle","vals","instances","v","currentValues","inst","useAnimations","animationProps","props","presence","componentState","useStyleEmitter","themeName","styleState","isHydrating","isMounting","isEntering","isExiting","wasEnteringRef","justFinishedEntering","useEffect","_styleState_effectiveTransition","effectiveTransition","animationKey","disableAnimation","sendExitComplete","exitCycleIdRef","pendingExitKeysRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","markExitKeyDone","key3","cycleId","finished","delete","size","isExitingRef","exitCycleIdShared","clear","animatedTargetsRef","staticTargetsRef","transformTargetsRef","animatedStyles","staticStyles","animated","staticStyles2","animateOnly2","rawValue","key1","pseudoActiveRef","isExitingJSRef","configRef","nextStyle","effectiveTransition2","pseudoActive","statics","transforms2","transitionToUse","newBase","newPropertyConfigs","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","t2","tKey2","tVal","push","debug","console","info","transforms","exitKeysRegistered","exitKeys","key2","tKey","_loop","key12","animatedValues","_config_propertyConfigs_key","propConfig","currentlyExiting","capturedKey","capturedCycleId","currentCycleId","emitterAnimated","emitterStatic","emitterTransforms","hasEmitterUpdates","staticValues"],"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": "@tamagui/animations-reanimated",
3
- "version": "2.2.0",
3
+ "version": "2.3.1",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "files": [
@@ -34,12 +34,12 @@
34
34
  "clean:build": "tamagui-build clean:build"
35
35
  },
36
36
  "dependencies": {
37
- "@tamagui/animation-helpers": "2.2.0",
38
- "@tamagui/core": "2.2.0",
39
- "@tamagui/use-presence": "2.2.0"
37
+ "@tamagui/animation-helpers": "2.3.1",
38
+ "@tamagui/core": "2.3.1",
39
+ "@tamagui/use-presence": "2.3.1"
40
40
  },
41
41
  "devDependencies": {
42
- "@tamagui/build": "2.2.0",
42
+ "@tamagui/build": "2.3.1",
43
43
  "react": ">=19",
44
44
  "react-native": "0.83.2",
45
45
  "react-native-reanimated": "~4.2.2"
@@ -730,6 +730,48 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
730
730
  return { animatedStyles: animated, staticStyles }
731
731
  }, [disableAnimation, style, isDark, isMounting, props.animateOnly])
732
732
 
733
+ // reconcile the emitter latch with real re-renders.
734
+ //
735
+ // the avoidReRenders fast path lets a pure pseudo change (hover/press/focus) push
736
+ // styles straight to the worklet via useStyleEmitter with no React commit — it sets
737
+ // animatedTargetsRef. the worklet then treats `animatedTargetsRef !== null` as a
738
+ // permanent latch: once the emitter has fired even once, it reads its last-emitted
739
+ // snapshot and IGNORES `animatedStyles` from every subsequent re-render. so a base
740
+ // style that changes through React (e.g. a row's `backgroundColor` flipping with an
741
+ // external selection store, not a hover) never reaches the screen — it stays stuck on
742
+ // the stale emitted value until the next hover re-fires the emitter. (the "active row
743
+ // highlight gets stuck until you hover it again" report.)
744
+ //
745
+ // a real re-render is the freshest source of truth for the base style, so on render we
746
+ // drop the emitter latch and let the worklet fall back to `animatedStyles`. the one
747
+ // exception: while a self pseudo (hover/press/focus) is active the emitted style is a
748
+ // transient override that isn't in this render, so keep it latched — otherwise an
749
+ // unrelated re-render while hovering would snap back to the base. `pseudoActiveRef`
750
+ // tracks that flag straight off the emitter (which fires on every pseudo transition), so
751
+ // the un-hover/un-press emission flips it false and the next render reclaims the style.
752
+ // no value comparison needed; runtime media stays correct because a render re-reads live
753
+ // media into `animatedStyles`.
754
+ // exit overrides the pseudo exception: the exit render's style IS the
755
+ // authoritative target, and an element that exits while hovered/focused (every
756
+ // dialog closed by clicking a button inside it) would otherwise keep the stale
757
+ // emitted base latched — the worklet then "animates" to values already on
758
+ // screen, every exit-key callback completes in a frame, and AnimatePresence
759
+ // unmounts immediately (the dialog-exit-snap). mirrored into a plain ref so the
760
+ // emitter callback (which runs outside render) can read it.
761
+ const pseudoActiveRef = useRef(false)
762
+ const isExitingJSRef = useRef(false)
763
+ isExitingJSRef.current = isExiting
764
+ useIsomorphicLayoutEffect(() => {
765
+ if (
766
+ (isExiting || !pseudoActiveRef.current) &&
767
+ animatedTargetsRef.value !== null
768
+ ) {
769
+ animatedTargetsRef.value = null
770
+ staticTargetsRef.value = null
771
+ transformTargetsRef.value = null
772
+ }
773
+ })
774
+
733
775
  // Build animation config with per-property overrides using normalized transition
734
776
  const { baseConfig, propertyConfigs } = useMemo(() => {
735
777
  if (isHydrating) {
@@ -739,13 +781,18 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
739
781
  }
740
782
  }
741
783
 
784
+ // use effectiveTransition (createComponent's single source of truth) so a
785
+ // platform-pseudo component with no declared transition resolves its BASE
786
+ // config to instant ('0ms') too — not just its pseudo flips. otherwise base
787
+ // style changes on the driver path animate with the default spring and a
788
+ // hover-out / base color change visibly lingers (looks "stuck").
742
789
  return buildTransitionConfig(
743
- props.transition,
790
+ effectiveTransition,
744
791
  animations,
745
792
  animationState,
746
793
  getStyleKeys(animatedStyles)
747
794
  )
748
- }, [isHydrating, props.transition, animatedStyles, animationState])
795
+ }, [isHydrating, effectiveTransition, animatedStyles, animationState])
749
796
 
750
797
  // Store config in SharedValue for worklet access (concurrent-safe)
751
798
  // Using useEffect to avoid writing to shared value during render
@@ -769,79 +816,88 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
769
816
  // avoidRerenders: register style emitter callback
770
817
  // when hover/press/etc state changes, this is called instead of re-rendering
771
818
  // =========================================================================
772
- useStyleEmitter?.((nextStyle: Record<string, unknown>, effectiveTransition) => {
773
- const animateOnly = props.animateOnly as string[] | undefined
774
- const animated: Record<string, unknown> = {}
775
- const statics: Record<string, unknown> = {}
776
- const transforms: Array<Record<string, unknown>> = []
777
-
778
- // effectiveTransition is computed in createComponent based on entering/exiting pseudo states
779
- // rebuild config whenever transition changes (entering OR exiting pseudo states)
780
- const transitionToUse = effectiveTransition ?? props.transition
781
- const { baseConfig: newBase, propertyConfigs: newPropertyConfigs } =
782
- buildTransitionConfig(
783
- transitionToUse,
784
- animations,
785
- animationState,
786
- getStyleKeys(nextStyle)
787
- )
788
-
789
- // update configRef with the new config
790
- configRef.value = {
791
- baseConfig: newBase,
792
- propertyConfigs: newPropertyConfigs,
793
- disableAnimation: configRef.value.disableAnimation,
794
- isHydrating: configRef.value.isHydrating,
795
- }
819
+ useStyleEmitter?.(
820
+ (nextStyle: Record<string, unknown>, effectiveTransition, pseudoActive) => {
821
+ // while exiting, the exit render owns the style — a pseudo flip mid-exit
822
+ // (hover-out as the element fades under the cursor) must not re-latch the
823
+ // base style over the in-flight exit targets.
824
+ if (isExitingJSRef.current) return
825
+ // track whether a self pseudo is active so the render-time layout effect knows whether
826
+ // this emitter snapshot is a transient override to keep latched or a base it can drop.
827
+ pseudoActiveRef.current = pseudoActive === true
828
+ const animateOnly = props.animateOnly as string[] | undefined
829
+ const animated: Record<string, unknown> = {}
830
+ const statics: Record<string, unknown> = {}
831
+ const transforms: Array<Record<string, unknown>> = []
832
+
833
+ // effectiveTransition is computed in createComponent based on entering/exiting pseudo states
834
+ // rebuild config whenever transition changes (entering OR exiting pseudo states)
835
+ const transitionToUse = effectiveTransition ?? props.transition
836
+ const { baseConfig: newBase, propertyConfigs: newPropertyConfigs } =
837
+ buildTransitionConfig(
838
+ transitionToUse,
839
+ animations,
840
+ animationState,
841
+ getStyleKeys(nextStyle)
842
+ )
843
+
844
+ // update configRef with the new config
845
+ configRef.value = {
846
+ baseConfig: newBase,
847
+ propertyConfigs: newPropertyConfigs,
848
+ disableAnimation: configRef.value.disableAnimation,
849
+ isHydrating: configRef.value.isHydrating,
850
+ }
796
851
 
797
- for (const key in nextStyle) {
798
- const rawValue = nextStyle[key]
799
- const value = resolveDynamicValue(rawValue, isDark)
852
+ for (const key in nextStyle) {
853
+ const rawValue = nextStyle[key]
854
+ const value = resolveDynamicValue(rawValue, isDark)
800
855
 
801
- if (value == undefined) continue
856
+ if (value == undefined) continue
802
857
 
803
- if (configRef.value.disableAnimation) {
804
- statics[key] = cloneAnimationValue(value)
805
- continue
806
- }
858
+ if (configRef.value.disableAnimation) {
859
+ statics[key] = cloneAnimationValue(value)
860
+ continue
861
+ }
807
862
 
808
- if (key === 'transform' && Array.isArray(value)) {
809
- for (const t of value as Record<string, unknown>[]) {
810
- if (t && typeof t === 'object') {
811
- const tKey = Object.keys(t)[0]
812
- const tVal = t[tKey]
813
- if (typeof tVal === 'number' || typeof tVal === 'string') {
814
- transforms.push(cloneAnimationValue(t) as Record<string, unknown>)
863
+ if (key === 'transform' && Array.isArray(value)) {
864
+ for (const t of value as Record<string, unknown>[]) {
865
+ if (t && typeof t === 'object') {
866
+ const tKey = Object.keys(t)[0]
867
+ const tVal = t[tKey]
868
+ if (typeof tVal === 'number' || typeof tVal === 'string') {
869
+ transforms.push(cloneAnimationValue(t) as Record<string, unknown>)
870
+ }
815
871
  }
816
872
  }
873
+ continue
817
874
  }
818
- continue
819
- }
820
875
 
821
- if (canAnimateProperty(key, value, animateOnly)) {
822
- animated[key] = cloneAnimationValue(value)
823
- } else {
824
- statics[key] = cloneAnimationValue(value)
876
+ if (canAnimateProperty(key, value, animateOnly)) {
877
+ animated[key] = cloneAnimationValue(value)
878
+ } else {
879
+ statics[key] = cloneAnimationValue(value)
880
+ }
825
881
  }
826
- }
827
-
828
- // update shared values - on web, the mapper watches these if passed in dependencies
829
- animatedTargetsRef.value = animated
830
- staticTargetsRef.value = statics
831
- transformTargetsRef.value = transforms
832
882
 
833
- if (
834
- process.env.NODE_ENV === 'development' &&
835
- props.debug &&
836
- props.debug !== 'profile'
837
- ) {
838
- console.info('[animations-reanimated] useStyleEmitter update', {
839
- animated,
840
- statics,
841
- transforms,
842
- })
883
+ // update shared values - on web, the mapper watches these if passed in dependencies
884
+ animatedTargetsRef.value = animated
885
+ staticTargetsRef.value = statics
886
+ transformTargetsRef.value = transforms
887
+
888
+ if (
889
+ process.env.NODE_ENV === 'development' &&
890
+ props.debug &&
891
+ props.debug !== 'profile'
892
+ ) {
893
+ console.info('[animations-reanimated] useStyleEmitter update', {
894
+ animated,
895
+ statics,
896
+ transforms,
897
+ })
898
+ }
843
899
  }
844
- })
900
+ )
845
901
 
846
902
  // Compute and register exit keys synchronously during render to avoid race conditions
847
903
  // This must happen BEFORE useAnimatedStyle runs so callbacks have a populated set
@@ -910,9 +966,14 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
910
966
  const emitterTransforms = transformTargetsRef.value
911
967
  const hasEmitterUpdates = emitterAnimated !== null
912
968
 
913
- // Use emitter values if available, otherwise use React state values
969
+ // Use emitter values if available, otherwise use React state values.
970
+ // statics must fall back to the render's staticStyles (not {}): once an
971
+ // emitter snapshot has applied static keys, reanimated never unsets
972
+ // them, so after the latch drops a stale emitted value (e.g. a border
973
+ // color that missed animateOnly) would keep painting over the fresh
974
+ // style prop forever
914
975
  const animatedValues = hasEmitterUpdates ? emitterAnimated! : animatedStyles
915
- const staticValues = hasEmitterUpdates ? emitterStatic! : {}
976
+ const staticValues = hasEmitterUpdates ? emitterStatic! : staticStyles
916
977
 
917
978
  // read exit state from shared values
918
979
  const currentlyExiting = isExitingRef.value
@@ -999,6 +1060,7 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
999
1060
  isWeb
1000
1061
  ? [
1001
1062
  animatedStyles,
1063
+ staticStyles,
1002
1064
  baseConfig,
1003
1065
  propertyConfigs,
1004
1066
  disableAnimation,
@@ -6,6 +6,6 @@
6
6
  ],
7
7
  "version": 3,
8
8
  "sourcesContent": [
9
- "import { getEffectiveAnimation, normalizeTransition } from '@tamagui/animation-helpers'\nimport {\n getSplitStyles,\n hooks,\n isWeb,\n Text,\n useComposedRefs,\n useEvent,\n useIsomorphicLayoutEffect,\n useThemeWithState,\n View,\n type AnimationDriver,\n type UniversalAnimatedNumber,\n} from '@tamagui/core'\nimport { ResetPresence, usePresence } from '@tamagui/use-presence'\nimport React, { forwardRef, useMemo, useRef } from 'react'\nimport type { SharedValue } from 'react-native-reanimated'\nimport Animated_, {\n cancelAnimation,\n runOnJS,\n runOnUI,\n useAnimatedReaction,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withDelay,\n withSpring,\n withTiming,\n type WithSpringConfig,\n type WithTimingConfig,\n} from 'react-native-reanimated'\n\n// =============================================================================\n// ESM/CJS compatibility\n// =============================================================================\n\n/**\n * Handle ESM/CJS module interop for react-native-reanimated\n * @see https://github.com/evanw/esbuild/issues/2480#issuecomment-1833104754\n */\nconst getDefaultExport = <T,>(module: T | { default: T }): T => {\n const mod = module as any\n if (mod.__esModule || mod[Symbol.toStringTag] === 'Module') {\n return mod.default || mod\n }\n return mod\n}\n\nconst Animated = getDefaultExport(Animated_)\n\nconst silenceAnimatedComponentDevCheck = (style: unknown) => {\n if (\n process.env.NODE_ENV !== 'development' ||\n isWeb ||\n !style ||\n typeof style !== 'object'\n ) {\n return\n }\n\n // react fabric's dev performance logger diffs component props and reads the\n // reanimated guard getter even when the style is on an animated component.\n Object.defineProperty(style, '_requiresAnimatedComponent', {\n configurable: true,\n enumerable: false,\n value: true,\n })\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\ntype ReanimatedAnimatedNumber = SharedValue<number>\n\n/** Spring animation configuration */\ntype SpringConfig = {\n type?: 'spring'\n delay?: number\n} & Partial<WithSpringConfig>\n\n/** Timing animation configuration */\ntype TimingConfig = {\n type: 'timing'\n delay?: number\n} & Partial<WithTimingConfig>\n\n/** Combined animation configuration type */\nexport type TransitionConfig = SpringConfig | TimingConfig\n\n/** Options for createAnimations (reserved for future use) */\nexport type CreateAnimationsOptions = {}\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * Resolve dynamic theme values (e.g., `{dynamic: {dark: \"value\", light: \"value\"}}`)\n */\nconst resolveDynamicValue = (value: unknown, isDark: boolean): unknown => {\n if (\n value !== null &&\n typeof value === 'object' &&\n 'dynamic' in value &&\n typeof (value as any).dynamic === 'object'\n ) {\n const dynamic = (value as any).dynamic\n return isDark ? dynamic.dark : dynamic.light\n }\n return value\n}\n\n/** Animation completion callback type */\ntype AnimationCallback = (finished?: boolean) => void\n\nconst cloneAnimationValue = (value: unknown): unknown => {\n if (Array.isArray(value)) {\n return value.map(cloneAnimationValue)\n }\n\n if (value && typeof value === 'object') {\n const next: Record<string, unknown> = {}\n for (const key in value as Record<string, unknown>) {\n next[key] = cloneAnimationValue((value as Record<string, unknown>)[key])\n }\n return next\n }\n\n return value\n}\n\nconst cloneTransitionConfig = (config: TransitionConfig): TransitionConfig => {\n return cloneAnimationValue(config) as TransitionConfig\n}\n\nconst createReanimatedConfig = (config: TransitionConfig): Record<string, unknown> => {\n 'worklet'\n const next: Record<string, unknown> = {}\n const source = config as Record<string, unknown>\n\n for (const key in source) {\n if (key === 'type' || key === 'delay') continue\n const value = source[key]\n if (value !== undefined) {\n next[key] = value\n }\n }\n\n return next\n}\n\n/**\n * Apply animation to a value based on config, with optional completion callback\n */\nconst applyAnimation = (\n targetValue: number | string,\n config: TransitionConfig,\n callback?: AnimationCallback\n): number | string => {\n 'worklet'\n const delay = config.delay\n const reanimatedConfig = createReanimatedConfig(config)\n\n let animatedValue: any\n if (config.type === 'timing') {\n animatedValue = withTiming(\n targetValue as number,\n reanimatedConfig as WithTimingConfig,\n callback\n )\n } else {\n animatedValue = withSpring(\n targetValue as number,\n reanimatedConfig as WithSpringConfig,\n callback\n )\n }\n\n if (delay && delay > 0) {\n animatedValue = withDelay(delay, animatedValue)\n }\n\n return animatedValue\n}\n\n// =============================================================================\n// Animatable Properties\n// =============================================================================\n\nconst ANIMATABLE_PROPERTIES: Record<string, boolean> = {\n // Transform\n transform: true,\n // Opacity\n opacity: true,\n // Dimensions\n height: true,\n width: true,\n minWidth: true,\n minHeight: true,\n maxWidth: true,\n maxHeight: true,\n // Background\n backgroundColor: true,\n // Border colors\n borderColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n borderTopColor: true,\n borderBottomColor: true,\n // Border radius\n borderRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n // Border width\n borderWidth: true,\n borderLeftWidth: true,\n borderRightWidth: true,\n borderTopWidth: true,\n borderBottomWidth: true,\n // Text\n color: true,\n fontSize: true,\n fontWeight: true,\n lineHeight: true,\n letterSpacing: true,\n // Position\n left: true,\n right: true,\n top: true,\n bottom: true,\n // Margin\n margin: true,\n marginTop: true,\n marginBottom: true,\n marginLeft: true,\n marginRight: true,\n marginHorizontal: true,\n marginVertical: true,\n // Padding\n padding: true,\n paddingTop: true,\n paddingBottom: true,\n paddingLeft: true,\n paddingRight: true,\n paddingHorizontal: true,\n paddingVertical: true,\n // Flex/Gap\n gap: true,\n rowGap: true,\n columnGap: true,\n flex: true,\n flexGrow: true,\n flexShrink: true,\n}\n\n/**\n * Check if a style property can be animated\n */\nconst canAnimateProperty = (\n key: string,\n value: unknown,\n animateOnly?: string[]\n): boolean => {\n if (!ANIMATABLE_PROPERTIES[key]) return false\n if (value === 'auto') return false\n if (typeof value === 'string' && value.startsWith('calc')) return false\n if (animateOnly && !animateOnly.includes(key)) return false\n return true\n}\n\n// =============================================================================\n// Animated Components (Web)\n// =============================================================================\n\n/**\n * Create a Tamagui-compatible animated component for web\n * Supports data- attributes, className, and proper style handling\n */\nfunction createWebAnimatedComponent(defaultTag: 'div' | 'span') {\n const isText = defaultTag === 'span'\n\n const Component = Animated.createAnimatedComponent(\n forwardRef((propsIn: any, ref) => {\n const { forwardedRef, render = defaultTag, ...rest } = propsIn\n const hostRef = useRef<HTMLElement>(null)\n const composedRefs = useComposedRefs(forwardedRef, ref, hostRef)\n\n const stateRef = useRef<{ host: HTMLElement | null }>({\n get host() {\n return hostRef.current\n },\n })\n\n const [, themeState] = useThemeWithState({})\n\n const result = getSplitStyles(\n rest,\n isText ? Text.staticConfig : View.staticConfig,\n themeState?.theme ?? {},\n themeState?.name ?? '',\n { unmounted: false } as any,\n { isAnimated: false, noClass: true }\n )\n\n const viewProps = result?.viewProps ?? {}\n const Element = render\n const transformedProps = hooks.usePropsTransform?.(\n render,\n viewProps,\n stateRef as any,\n false\n )\n\n return <Element {...transformedProps} ref={composedRefs} />\n })\n )\n ;(Component as any).acceptRenderProp = true\n return Component\n}\n\nconst AnimatedView = createWebAnimatedComponent('div')\nconst AnimatedText = createWebAnimatedComponent('span')\n\n// =============================================================================\n// Transition Config Builder\n// =============================================================================\n\ntype TransitionConfigResult = {\n baseConfig: TransitionConfig\n propertyConfigs: Record<string, TransitionConfig>\n}\n\n/**\n * Builds animation config from a transition prop.\n * Shared logic used in both initial render and style emitter updates.\n */\nfunction buildTransitionConfig<A extends Record<string, TransitionConfig>>(\n transition: any,\n animations: A,\n animationState: 'enter' | 'exit' | 'default',\n styleKeys: Set<string>\n): TransitionConfigResult {\n const normalized = normalizeTransition(transition)\n const effectiveKey = getEffectiveAnimation(normalized, animationState)\n\n let base = cloneTransitionConfig(\n effectiveKey\n ? (animations[effectiveKey as keyof typeof animations] ??\n ({ type: 'spring' } as TransitionConfig))\n : ({ type: 'spring' } as TransitionConfig)\n )\n\n if (normalized.delay) {\n base = cloneTransitionConfig({ ...base, delay: normalized.delay })\n }\n\n if (normalized.config) {\n base = cloneTransitionConfig({ ...base, ...normalized.config })\n // infer type: 'timing' if duration is provided without spring params\n if (\n base.type !== 'timing' &&\n normalized.config.duration !== undefined &&\n normalized.config.damping === undefined &&\n normalized.config.stiffness === undefined &&\n normalized.config.mass === undefined\n ) {\n base = cloneTransitionConfig({ ...base, type: 'timing' })\n }\n }\n\n // build per-property configs\n const propertyConfigs: Record<string, TransitionConfig> = {}\n\n for (const key of styleKeys) {\n const propAnimation = normalized.properties[key]\n if (typeof propAnimation === 'string') {\n propertyConfigs[key] = cloneTransitionConfig(\n animations[propAnimation as keyof typeof animations] ?? base\n )\n } else if (propAnimation && typeof propAnimation === 'object') {\n const configType = (propAnimation as any).type\n const baseForProp = configType\n ? (animations[configType as keyof typeof animations] ?? base)\n : base\n propertyConfigs[key] = cloneTransitionConfig({\n ...baseForProp,\n ...propAnimation,\n } as TransitionConfig)\n } else {\n propertyConfigs[key] = cloneTransitionConfig(base)\n }\n }\n\n return { baseConfig: base, propertyConfigs }\n}\n\n/**\n * Extracts all style keys including transform sub-properties.\n */\nfunction getStyleKeys(style: Record<string, unknown>): Set<string> {\n const keys = new Set(Object.keys(style))\n if (style.transform && Array.isArray(style.transform)) {\n for (const t of style.transform as Record<string, unknown>[]) {\n if (t && typeof t === 'object') {\n keys.add(Object.keys(t)[0])\n }\n }\n }\n return keys\n}\n\n// =============================================================================\n// Animation Driver Factory\n// =============================================================================\n\n/**\n * Create a Reanimated-based animation driver for Tamagui.\n *\n * This is a native Reanimated implementation without Moti dependency.\n * It provides smooth spring and timing animations with full support for:\n * - Per-property animation configurations\n * - Exit animations with proper completion callbacks\n * - Dynamic theme value resolution\n * - Transform property animations\n * - avoidReRenders optimization for hover/press/focus states\n *\n * @example\n * ```tsx\n * const animations = createAnimations({\n * fast: { type: 'spring', damping: 20, stiffness: 250 },\n * slow: { type: 'timing', duration: 500 },\n * })\n *\n * ```\n */\nexport function createAnimations<A extends Record<string, TransitionConfig>>(\n animationsConfig: A\n): AnimationDriver<A> {\n // Normalize animation configs - default to spring if not specified\n // This matches behavior of moti and motion drivers\n const animations = {} as A\n for (const key in animationsConfig) {\n animations[key] = cloneTransitionConfig({\n type: 'spring',\n ...animationsConfig[key],\n }) as A[typeof key]\n }\n\n return {\n needsCustomComponent: true,\n View: isWeb ? AnimatedView : Animated.View,\n Text: isWeb ? AnimatedText : Animated.Text,\n isReactNative: true,\n inputStyle: 'value',\n outputStyle: 'inline',\n avoidReRenders: true,\n animations,\n usePresence,\n ResetPresence,\n\n // =========================================================================\n // useAnimatedNumber - For imperative animated values\n // =========================================================================\n useAnimatedNumber(initial): UniversalAnimatedNumber<ReanimatedAnimatedNumber> {\n const sharedValue = useSharedValue(initial)\n\n return useMemo(\n () => ({\n getInstance() {\n 'worklet'\n return sharedValue\n },\n\n getValue() {\n 'worklet'\n return sharedValue.value\n },\n\n setValue(next, config = { type: 'spring' }, onFinish) {\n if (config.type === 'direct') {\n sharedValue.value = next\n onFinish?.()\n } else {\n // animations must start on the ui thread in reanimated 4.x -\n // withSpring/withTiming return animation descriptors that only\n // work when assigned to a SharedValue inside the UI runtime\n const cb = onFinish\n ? () => {\n 'worklet'\n runOnJS(onFinish)()\n }\n : undefined\n\n const animationConfig = cloneTransitionConfig(config)\n\n if (isWeb) {\n // on web there's no UI thread - set directly\n sharedValue.value = applyAnimation(next, animationConfig, cb)\n } else {\n runOnUI((targetValue: number, animationConfig: TransitionConfig) => {\n 'worklet'\n sharedValue.value = applyAnimation(targetValue, animationConfig, cb)\n })(next, animationConfig)\n }\n }\n },\n\n stop() {\n cancelAnimation(sharedValue)\n },\n }),\n [sharedValue]\n )\n },\n\n // =========================================================================\n // useAnimatedNumberReaction - React to animated value changes\n // =========================================================================\n useAnimatedNumberReaction({ value }, onValue) {\n const instance = value.getInstance()\n\n return useAnimatedReaction(\n () => instance.value,\n (next, prev) => {\n if (prev !== next) {\n runOnJS(onValue)(next)\n }\n },\n [onValue, instance]\n )\n },\n\n // =========================================================================\n // useAnimatedNumberStyle - Create animated styles from values\n // =========================================================================\n useAnimatedNumberStyle(val, getStyle) {\n const instance = val.getInstance()\n\n if (isWeb) {\n // web: must pass explicit deps (no babel plugin)\n return useAnimatedStyle(() => {\n 'worklet'\n return getStyle(instance.value)\n }, [instance, getStyle])\n }\n\n const styleVal = useDerivedValue(() => {\n 'worklet'\n return getStyle(instance.value)\n })\n\n const animatedStyle = useAnimatedStyle(() => {\n 'worklet'\n return styleVal.value\n })\n\n silenceAnimatedComponentDevCheck(animatedStyle)\n\n return animatedStyle\n },\n\n useAnimatedNumbersStyle(vals, getStyle) {\n const instances = vals.map((v) => v.getInstance())\n\n const animatedStyle = useAnimatedStyle(\n () => {\n 'worklet'\n const currentValues = instances.map((inst) => inst.value)\n return getStyle(...currentValues)\n },\n isWeb ? [getStyle, ...instances] : undefined\n )\n\n silenceAnimatedComponentDevCheck(animatedStyle)\n\n return animatedStyle\n },\n\n // =========================================================================\n // useAnimations - Main animation hook for components\n // =========================================================================\n useAnimations(animationProps) {\n const {\n props,\n presence,\n style,\n componentState,\n useStyleEmitter,\n themeName,\n stateRef,\n styleState,\n } = animationProps\n\n // State flags\n const isHydrating = componentState.unmounted === true\n const isMounting = componentState.unmounted === 'should-enter'\n const isEntering = !!componentState.unmounted\n\n // Presence state for exit animations\n const isExiting = presence?.[0] === false\n\n // Track if we just finished entering (transition from entering to not entering)\n const wasEnteringRef = useRef(isEntering)\n const justFinishedEntering = wasEnteringRef.current && !isEntering\n React.useEffect(() => {\n wasEnteringRef.current = isEntering\n })\n\n // Use effectiveTransition computed by createComponent (single source of truth)\n const effectiveTransition = styleState?.effectiveTransition ?? props.transition\n const normalized = normalizeTransition(effectiveTransition)\n // Use 'enter' if we're mounting OR if we just finished entering\n const animationState: 'enter' | 'exit' | 'default' = isExiting\n ? 'exit'\n : isMounting || justFinishedEntering\n ? 'enter'\n : 'default'\n const animationKey = getEffectiveAnimation(normalized, animationState)\n\n const disableAnimation = isHydrating || !animationKey\n\n // Theme state for dynamic values - use themeName from props instead of hook\n const isDark = themeName?.startsWith('dark') || false\n\n // Get sendExitComplete callback from presence\n const sendExitComplete = presence?.[1]\n\n // =========================================================================\n // Exit cycle state for deterministic per-property completion tracking\n // =========================================================================\n const exitCycleIdRef = useRef(0)\n const pendingExitKeysRef = useRef<Set<string>>(new Set())\n const exitCompletedRef = useRef(false)\n const wasExitingRef = useRef(false)\n\n // detect transition into/out of exiting state\n const justStartedExiting = isExiting && !wasExitingRef.current\n const justStoppedExiting = !isExiting && wasExitingRef.current\n\n // stable callback to mark a property as done (called from worklet via runOnJS)\n const markExitKeyDone = useEvent(\n (key: string, cycleId: number, finished: boolean) => {\n // ignore callbacks from stale cycles\n if (cycleId !== exitCycleIdRef.current) return\n // ignore if already completed\n if (exitCompletedRef.current) return\n // count both finished and canceled animations as \"done\" during exit\n // (element is leaving anyway, canceled animations shouldn't block completion)\n\n pendingExitKeysRef.current.delete(key)\n\n // check if all exit animations are done\n if (pendingExitKeysRef.current.size === 0) {\n exitCompletedRef.current = true\n sendExitComplete?.()\n }\n }\n )\n\n // SharedValue to pass exit state into worklet\n const isExitingRef = useSharedValue(isExiting)\n const exitCycleIdShared = useSharedValue(exitCycleIdRef.current)\n\n // start new exit cycle only on transition INTO exiting (not every render while exiting)\n if (justStartedExiting) {\n exitCycleIdRef.current++\n exitCompletedRef.current = false\n pendingExitKeysRef.current.clear()\n }\n // invalidate pending callbacks when exit is canceled/interrupted\n if (justStoppedExiting) {\n exitCycleIdRef.current++\n pendingExitKeysRef.current.clear()\n }\n\n // update shared values (using effect to avoid writing during render)\n useIsomorphicLayoutEffect(() => {\n isExitingRef.value = isExiting\n exitCycleIdShared.value = exitCycleIdRef.current\n }, [isExiting, exitCycleIdRef.current])\n\n // track previous exiting state\n React.useEffect(() => {\n wasExitingRef.current = isExiting\n })\n\n // =========================================================================\n // avoidRerenders: SharedValues for style updates without re-renders\n // =========================================================================\n const animatedTargetsRef = useSharedValue<Record<string, unknown> | null>(null)\n const staticTargetsRef = useSharedValue<Record<string, unknown> | null>(null)\n const transformTargetsRef = useSharedValue<Array<Record<string, unknown>> | null>(\n null\n )\n\n // Separate styles into animated and static\n const { animatedStyles, staticStyles } = useMemo(() => {\n const animated: Record<string, unknown> = {}\n const staticStyles: Record<string, unknown> = {}\n const animateOnly = props.animateOnly as string[] | undefined\n\n for (const key in style) {\n const rawValue = (style as Record<string, unknown>)[key]\n const value = resolveDynamicValue(rawValue, isDark)\n\n if (value === undefined) continue\n\n if (disableAnimation) {\n staticStyles[key] = cloneAnimationValue(value)\n continue\n }\n\n if (canAnimateProperty(key, value, animateOnly)) {\n animated[key] = cloneAnimationValue(value)\n } else {\n staticStyles[key] = cloneAnimationValue(value)\n }\n }\n\n // During mount, include animated values in static to prevent flicker\n if (isMounting) {\n for (const key in animated) {\n staticStyles[key] = animated[key]\n }\n }\n\n return { animatedStyles: animated, staticStyles }\n }, [disableAnimation, style, isDark, isMounting, props.animateOnly])\n\n // Build animation config with per-property overrides using normalized transition\n const { baseConfig, propertyConfigs } = useMemo(() => {\n if (isHydrating) {\n return {\n baseConfig: { type: 'timing' as const, duration: 0 },\n propertyConfigs: {} as Record<string, TransitionConfig>,\n }\n }\n\n return buildTransitionConfig(\n props.transition,\n animations,\n animationState,\n getStyleKeys(animatedStyles)\n )\n }, [isHydrating, props.transition, animatedStyles, animationState])\n\n // Store config in SharedValue for worklet access (concurrent-safe)\n // Using useEffect to avoid writing to shared value during render\n const configRef = useSharedValue({\n baseConfig,\n propertyConfigs,\n disableAnimation,\n isHydrating,\n })\n\n useIsomorphicLayoutEffect(() => {\n configRef.value = {\n baseConfig,\n propertyConfigs,\n disableAnimation,\n isHydrating,\n }\n }, [baseConfig, propertyConfigs, disableAnimation, isHydrating])\n\n // =========================================================================\n // avoidRerenders: register style emitter callback\n // when hover/press/etc state changes, this is called instead of re-rendering\n // =========================================================================\n useStyleEmitter?.((nextStyle: Record<string, unknown>, effectiveTransition) => {\n const animateOnly = props.animateOnly as string[] | undefined\n const animated: Record<string, unknown> = {}\n const statics: Record<string, unknown> = {}\n const transforms: Array<Record<string, unknown>> = []\n\n // effectiveTransition is computed in createComponent based on entering/exiting pseudo states\n // rebuild config whenever transition changes (entering OR exiting pseudo states)\n const transitionToUse = effectiveTransition ?? props.transition\n const { baseConfig: newBase, propertyConfigs: newPropertyConfigs } =\n buildTransitionConfig(\n transitionToUse,\n animations,\n animationState,\n getStyleKeys(nextStyle)\n )\n\n // update configRef with the new config\n configRef.value = {\n baseConfig: newBase,\n propertyConfigs: newPropertyConfigs,\n disableAnimation: configRef.value.disableAnimation,\n isHydrating: configRef.value.isHydrating,\n }\n\n for (const key in nextStyle) {\n const rawValue = nextStyle[key]\n const value = resolveDynamicValue(rawValue, isDark)\n\n if (value == undefined) continue\n\n if (configRef.value.disableAnimation) {\n statics[key] = cloneAnimationValue(value)\n continue\n }\n\n if (key === 'transform' && Array.isArray(value)) {\n for (const t of value as Record<string, unknown>[]) {\n if (t && typeof t === 'object') {\n const tKey = Object.keys(t)[0]\n const tVal = t[tKey]\n if (typeof tVal === 'number' || typeof tVal === 'string') {\n transforms.push(cloneAnimationValue(t) as Record<string, unknown>)\n }\n }\n }\n continue\n }\n\n if (canAnimateProperty(key, value, animateOnly)) {\n animated[key] = cloneAnimationValue(value)\n } else {\n statics[key] = cloneAnimationValue(value)\n }\n }\n\n // update shared values - on web, the mapper watches these if passed in dependencies\n animatedTargetsRef.value = animated\n staticTargetsRef.value = statics\n transformTargetsRef.value = transforms\n\n if (\n process.env.NODE_ENV === 'development' &&\n props.debug &&\n props.debug !== 'profile'\n ) {\n console.info('[animations-reanimated] useStyleEmitter update', {\n animated,\n statics,\n transforms,\n })\n }\n })\n\n // Compute and register exit keys synchronously during render to avoid race conditions\n // This must happen BEFORE useAnimatedStyle runs so callbacks have a populated set\n const exitKeysRegistered = useRef(false)\n if (justStartedExiting && sendExitComplete) {\n const exitKeys: string[] = []\n const animateOnly = props.animateOnly as string[] | undefined\n\n // regular animated properties\n for (const key in animatedStyles) {\n if (key === 'transform') continue\n if (canAnimateProperty(key, animatedStyles[key], animateOnly)) {\n exitKeys.push(key)\n }\n }\n\n // transform sub-keys (filter by animateOnly if specified)\n const transforms = animatedStyles.transform\n if (transforms && Array.isArray(transforms)) {\n for (const t of transforms) {\n if (!t) continue\n const tKey = Object.keys(t)[0]\n if (tKey) {\n // check animateOnly filter for transform sub-keys\n if (animateOnly && !animateOnly.includes(tKey)) {\n continue\n }\n exitKeys.push(`transform:${tKey}`)\n }\n }\n }\n\n // register keys for this cycle\n pendingExitKeysRef.current = new Set(exitKeys)\n exitKeysRegistered.current = exitKeys.length > 0\n }\n\n // handle zero-animation case in effect (after render commit)\n React.useEffect(() => {\n if (!justStartedExiting || !sendExitComplete) return\n\n // if no keys were registered, complete immediately\n if (!exitKeysRegistered.current && pendingExitKeysRef.current.size === 0) {\n if (!exitCompletedRef.current) {\n exitCompletedRef.current = true\n sendExitComplete()\n }\n }\n }, [justStartedExiting, sendExitComplete])\n\n // Create animated style\n const animatedStyle = useAnimatedStyle(\n () => {\n 'worklet'\n\n if (disableAnimation || isHydrating) {\n return {}\n }\n\n const result: Record<string, any> = {}\n const config = configRef.value\n\n // Check if we have avoidRerenders updates from useStyleEmitter\n const emitterAnimated = animatedTargetsRef.value\n const emitterStatic = staticTargetsRef.value\n const emitterTransforms = transformTargetsRef.value\n const hasEmitterUpdates = emitterAnimated !== null\n\n // Use emitter values if available, otherwise use React state values\n const animatedValues = hasEmitterUpdates ? emitterAnimated! : animatedStyles\n const staticValues = hasEmitterUpdates ? emitterStatic! : {}\n\n // read exit state from shared values\n const currentlyExiting = isExitingRef.value\n const currentCycleId = exitCycleIdShared.value\n\n // Include static values from emitter (for hover/press style changes)\n for (const key in staticValues) {\n result[key] = staticValues[key]\n }\n\n // Animate regular properties\n for (const key in animatedValues) {\n if (key === 'transform') continue\n\n const targetValue = animatedValues[key]\n const propConfig = config.propertyConfigs[key] ?? config.baseConfig\n\n // create callback for exit tracking\n let callback: AnimationCallback | undefined\n if (currentlyExiting) {\n const capturedKey = key\n const capturedCycleId = currentCycleId\n callback = (finished) => {\n 'worklet'\n runOnJS(markExitKeyDone)(capturedKey, capturedCycleId, finished ?? false)\n }\n }\n\n result[key] = applyAnimation(targetValue as number, propConfig, callback)\n }\n\n // Handle transforms\n const transforms = hasEmitterUpdates\n ? emitterTransforms\n : animatedStyles.transform\n\n // Animate transform properties with validation\n if (transforms && Array.isArray(transforms)) {\n const validTransforms: Record<string, unknown>[] = []\n\n for (const t of transforms) {\n if (!t) continue\n const keys = Object.keys(t)\n if (keys.length === 0) continue\n const value = t[keys[0]]\n if (typeof value === 'number' || typeof value === 'string') {\n const transformKey = Object.keys(t)[0]\n const targetValue = t[transformKey]\n const propConfig =\n config.propertyConfigs[transformKey] ?? config.baseConfig\n\n // create callback for exit tracking (transform sub-key)\n let callback: AnimationCallback | undefined\n if (currentlyExiting) {\n const capturedKey = `transform:${transformKey}`\n const capturedCycleId = currentCycleId\n callback = (finished) => {\n 'worklet'\n runOnJS(markExitKeyDone)(\n capturedKey,\n capturedCycleId,\n finished ?? false\n )\n }\n }\n\n validTransforms.push({\n [transformKey]: applyAnimation(\n targetValue as number,\n propConfig,\n callback\n ),\n })\n }\n }\n\n if (validTransforms.length > 0) {\n result.transform = validTransforms\n }\n }\n\n return result\n },\n isWeb\n ? [\n animatedStyles,\n baseConfig,\n propertyConfigs,\n disableAnimation,\n isHydrating,\n // pass SharedValues so the mapper watches them on web (no babel plugin)\n animatedTargetsRef,\n staticTargetsRef,\n transformTargetsRef,\n isExitingRef,\n exitCycleIdShared,\n markExitKeyDone,\n ]\n : undefined\n )\n\n silenceAnimatedComponentDevCheck(animatedStyle)\n\n // Debug logging\n if (\n process.env.NODE_ENV === 'development' &&\n props.debug &&\n props.debug !== 'profile'\n ) {\n console.info('[animations-reanimated] useAnimations', {\n animationKey,\n componentState,\n isExiting,\n animatedStyles,\n staticStyles,\n baseConfig,\n propertyConfigs,\n })\n }\n\n return {\n style: [staticStyles, animatedStyle],\n }\n },\n }\n}\n"
9
+ "import { getEffectiveAnimation, normalizeTransition } from '@tamagui/animation-helpers'\nimport {\n getSplitStyles,\n hooks,\n isWeb,\n Text,\n useComposedRefs,\n useEvent,\n useIsomorphicLayoutEffect,\n useThemeWithState,\n View,\n type AnimationDriver,\n type UniversalAnimatedNumber,\n} from '@tamagui/core'\nimport { ResetPresence, usePresence } from '@tamagui/use-presence'\nimport React, { forwardRef, useMemo, useRef } from 'react'\nimport type { SharedValue } from 'react-native-reanimated'\nimport Animated_, {\n cancelAnimation,\n runOnJS,\n runOnUI,\n useAnimatedReaction,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withDelay,\n withSpring,\n withTiming,\n type WithSpringConfig,\n type WithTimingConfig,\n} from 'react-native-reanimated'\n\n// =============================================================================\n// ESM/CJS compatibility\n// =============================================================================\n\n/**\n * Handle ESM/CJS module interop for react-native-reanimated\n * @see https://github.com/evanw/esbuild/issues/2480#issuecomment-1833104754\n */\nconst getDefaultExport = <T,>(module: T | { default: T }): T => {\n const mod = module as any\n if (mod.__esModule || mod[Symbol.toStringTag] === 'Module') {\n return mod.default || mod\n }\n return mod\n}\n\nconst Animated = getDefaultExport(Animated_)\n\nconst silenceAnimatedComponentDevCheck = (style: unknown) => {\n if (\n process.env.NODE_ENV !== 'development' ||\n isWeb ||\n !style ||\n typeof style !== 'object'\n ) {\n return\n }\n\n // react fabric's dev performance logger diffs component props and reads the\n // reanimated guard getter even when the style is on an animated component.\n Object.defineProperty(style, '_requiresAnimatedComponent', {\n configurable: true,\n enumerable: false,\n value: true,\n })\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\ntype ReanimatedAnimatedNumber = SharedValue<number>\n\n/** Spring animation configuration */\ntype SpringConfig = {\n type?: 'spring'\n delay?: number\n} & Partial<WithSpringConfig>\n\n/** Timing animation configuration */\ntype TimingConfig = {\n type: 'timing'\n delay?: number\n} & Partial<WithTimingConfig>\n\n/** Combined animation configuration type */\nexport type TransitionConfig = SpringConfig | TimingConfig\n\n/** Options for createAnimations (reserved for future use) */\nexport type CreateAnimationsOptions = {}\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * Resolve dynamic theme values (e.g., `{dynamic: {dark: \"value\", light: \"value\"}}`)\n */\nconst resolveDynamicValue = (value: unknown, isDark: boolean): unknown => {\n if (\n value !== null &&\n typeof value === 'object' &&\n 'dynamic' in value &&\n typeof (value as any).dynamic === 'object'\n ) {\n const dynamic = (value as any).dynamic\n return isDark ? dynamic.dark : dynamic.light\n }\n return value\n}\n\n/** Animation completion callback type */\ntype AnimationCallback = (finished?: boolean) => void\n\nconst cloneAnimationValue = (value: unknown): unknown => {\n if (Array.isArray(value)) {\n return value.map(cloneAnimationValue)\n }\n\n if (value && typeof value === 'object') {\n const next: Record<string, unknown> = {}\n for (const key in value as Record<string, unknown>) {\n next[key] = cloneAnimationValue((value as Record<string, unknown>)[key])\n }\n return next\n }\n\n return value\n}\n\nconst cloneTransitionConfig = (config: TransitionConfig): TransitionConfig => {\n return cloneAnimationValue(config) as TransitionConfig\n}\n\nconst createReanimatedConfig = (config: TransitionConfig): Record<string, unknown> => {\n 'worklet'\n const next: Record<string, unknown> = {}\n const source = config as Record<string, unknown>\n\n for (const key in source) {\n if (key === 'type' || key === 'delay') continue\n const value = source[key]\n if (value !== undefined) {\n next[key] = value\n }\n }\n\n return next\n}\n\n/**\n * Apply animation to a value based on config, with optional completion callback\n */\nconst applyAnimation = (\n targetValue: number | string,\n config: TransitionConfig,\n callback?: AnimationCallback\n): number | string => {\n 'worklet'\n const delay = config.delay\n const reanimatedConfig = createReanimatedConfig(config)\n\n let animatedValue: any\n if (config.type === 'timing') {\n animatedValue = withTiming(\n targetValue as number,\n reanimatedConfig as WithTimingConfig,\n callback\n )\n } else {\n animatedValue = withSpring(\n targetValue as number,\n reanimatedConfig as WithSpringConfig,\n callback\n )\n }\n\n if (delay && delay > 0) {\n animatedValue = withDelay(delay, animatedValue)\n }\n\n return animatedValue\n}\n\n// =============================================================================\n// Animatable Properties\n// =============================================================================\n\nconst ANIMATABLE_PROPERTIES: Record<string, boolean> = {\n // Transform\n transform: true,\n // Opacity\n opacity: true,\n // Dimensions\n height: true,\n width: true,\n minWidth: true,\n minHeight: true,\n maxWidth: true,\n maxHeight: true,\n // Background\n backgroundColor: true,\n // Border colors\n borderColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n borderTopColor: true,\n borderBottomColor: true,\n // Border radius\n borderRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n // Border width\n borderWidth: true,\n borderLeftWidth: true,\n borderRightWidth: true,\n borderTopWidth: true,\n borderBottomWidth: true,\n // Text\n color: true,\n fontSize: true,\n fontWeight: true,\n lineHeight: true,\n letterSpacing: true,\n // Position\n left: true,\n right: true,\n top: true,\n bottom: true,\n // Margin\n margin: true,\n marginTop: true,\n marginBottom: true,\n marginLeft: true,\n marginRight: true,\n marginHorizontal: true,\n marginVertical: true,\n // Padding\n padding: true,\n paddingTop: true,\n paddingBottom: true,\n paddingLeft: true,\n paddingRight: true,\n paddingHorizontal: true,\n paddingVertical: true,\n // Flex/Gap\n gap: true,\n rowGap: true,\n columnGap: true,\n flex: true,\n flexGrow: true,\n flexShrink: true,\n}\n\n/**\n * Check if a style property can be animated\n */\nconst canAnimateProperty = (\n key: string,\n value: unknown,\n animateOnly?: string[]\n): boolean => {\n if (!ANIMATABLE_PROPERTIES[key]) return false\n if (value === 'auto') return false\n if (typeof value === 'string' && value.startsWith('calc')) return false\n if (animateOnly && !animateOnly.includes(key)) return false\n return true\n}\n\n// =============================================================================\n// Animated Components (Web)\n// =============================================================================\n\n/**\n * Create a Tamagui-compatible animated component for web\n * Supports data- attributes, className, and proper style handling\n */\nfunction createWebAnimatedComponent(defaultTag: 'div' | 'span') {\n const isText = defaultTag === 'span'\n\n const Component = Animated.createAnimatedComponent(\n forwardRef((propsIn: any, ref) => {\n const { forwardedRef, render = defaultTag, ...rest } = propsIn\n const hostRef = useRef<HTMLElement>(null)\n const composedRefs = useComposedRefs(forwardedRef, ref, hostRef)\n\n const stateRef = useRef<{ host: HTMLElement | null }>({\n get host() {\n return hostRef.current\n },\n })\n\n const [, themeState] = useThemeWithState({})\n\n const result = getSplitStyles(\n rest,\n isText ? Text.staticConfig : View.staticConfig,\n themeState?.theme ?? {},\n themeState?.name ?? '',\n { unmounted: false } as any,\n { isAnimated: false, noClass: true }\n )\n\n const viewProps = result?.viewProps ?? {}\n const Element = render\n const transformedProps = hooks.usePropsTransform?.(\n render,\n viewProps,\n stateRef as any,\n false\n )\n\n return <Element {...transformedProps} ref={composedRefs} />\n })\n )\n ;(Component as any).acceptRenderProp = true\n return Component\n}\n\nconst AnimatedView = createWebAnimatedComponent('div')\nconst AnimatedText = createWebAnimatedComponent('span')\n\n// =============================================================================\n// Transition Config Builder\n// =============================================================================\n\ntype TransitionConfigResult = {\n baseConfig: TransitionConfig\n propertyConfigs: Record<string, TransitionConfig>\n}\n\n/**\n * Builds animation config from a transition prop.\n * Shared logic used in both initial render and style emitter updates.\n */\nfunction buildTransitionConfig<A extends Record<string, TransitionConfig>>(\n transition: any,\n animations: A,\n animationState: 'enter' | 'exit' | 'default',\n styleKeys: Set<string>\n): TransitionConfigResult {\n const normalized = normalizeTransition(transition)\n const effectiveKey = getEffectiveAnimation(normalized, animationState)\n\n let base = cloneTransitionConfig(\n effectiveKey\n ? (animations[effectiveKey as keyof typeof animations] ??\n ({ type: 'spring' } as TransitionConfig))\n : ({ type: 'spring' } as TransitionConfig)\n )\n\n if (normalized.delay) {\n base = cloneTransitionConfig({ ...base, delay: normalized.delay })\n }\n\n if (normalized.config) {\n base = cloneTransitionConfig({ ...base, ...normalized.config })\n // infer type: 'timing' if duration is provided without spring params\n if (\n base.type !== 'timing' &&\n normalized.config.duration !== undefined &&\n normalized.config.damping === undefined &&\n normalized.config.stiffness === undefined &&\n normalized.config.mass === undefined\n ) {\n base = cloneTransitionConfig({ ...base, type: 'timing' })\n }\n }\n\n // build per-property configs\n const propertyConfigs: Record<string, TransitionConfig> = {}\n\n for (const key of styleKeys) {\n const propAnimation = normalized.properties[key]\n if (typeof propAnimation === 'string') {\n propertyConfigs[key] = cloneTransitionConfig(\n animations[propAnimation as keyof typeof animations] ?? base\n )\n } else if (propAnimation && typeof propAnimation === 'object') {\n const configType = (propAnimation as any).type\n const baseForProp = configType\n ? (animations[configType as keyof typeof animations] ?? base)\n : base\n propertyConfigs[key] = cloneTransitionConfig({\n ...baseForProp,\n ...propAnimation,\n } as TransitionConfig)\n } else {\n propertyConfigs[key] = cloneTransitionConfig(base)\n }\n }\n\n return { baseConfig: base, propertyConfigs }\n}\n\n/**\n * Extracts all style keys including transform sub-properties.\n */\nfunction getStyleKeys(style: Record<string, unknown>): Set<string> {\n const keys = new Set(Object.keys(style))\n if (style.transform && Array.isArray(style.transform)) {\n for (const t of style.transform as Record<string, unknown>[]) {\n if (t && typeof t === 'object') {\n keys.add(Object.keys(t)[0])\n }\n }\n }\n return keys\n}\n\n// =============================================================================\n// Animation Driver Factory\n// =============================================================================\n\n/**\n * Create a Reanimated-based animation driver for Tamagui.\n *\n * This is a native Reanimated implementation without Moti dependency.\n * It provides smooth spring and timing animations with full support for:\n * - Per-property animation configurations\n * - Exit animations with proper completion callbacks\n * - Dynamic theme value resolution\n * - Transform property animations\n * - avoidReRenders optimization for hover/press/focus states\n *\n * @example\n * ```tsx\n * const animations = createAnimations({\n * fast: { type: 'spring', damping: 20, stiffness: 250 },\n * slow: { type: 'timing', duration: 500 },\n * })\n *\n * ```\n */\nexport function createAnimations<A extends Record<string, TransitionConfig>>(\n animationsConfig: A\n): AnimationDriver<A> {\n // Normalize animation configs - default to spring if not specified\n // This matches behavior of moti and motion drivers\n const animations = {} as A\n for (const key in animationsConfig) {\n animations[key] = cloneTransitionConfig({\n type: 'spring',\n ...animationsConfig[key],\n }) as A[typeof key]\n }\n\n return {\n needsCustomComponent: true,\n View: isWeb ? AnimatedView : Animated.View,\n Text: isWeb ? AnimatedText : Animated.Text,\n isReactNative: true,\n inputStyle: 'value',\n outputStyle: 'inline',\n avoidReRenders: true,\n animations,\n usePresence,\n ResetPresence,\n\n // =========================================================================\n // useAnimatedNumber - For imperative animated values\n // =========================================================================\n useAnimatedNumber(initial): UniversalAnimatedNumber<ReanimatedAnimatedNumber> {\n const sharedValue = useSharedValue(initial)\n\n return useMemo(\n () => ({\n getInstance() {\n 'worklet'\n return sharedValue\n },\n\n getValue() {\n 'worklet'\n return sharedValue.value\n },\n\n setValue(next, config = { type: 'spring' }, onFinish) {\n if (config.type === 'direct') {\n sharedValue.value = next\n onFinish?.()\n } else {\n // animations must start on the ui thread in reanimated 4.x -\n // withSpring/withTiming return animation descriptors that only\n // work when assigned to a SharedValue inside the UI runtime\n const cb = onFinish\n ? () => {\n 'worklet'\n runOnJS(onFinish)()\n }\n : undefined\n\n const animationConfig = cloneTransitionConfig(config)\n\n if (isWeb) {\n // on web there's no UI thread - set directly\n sharedValue.value = applyAnimation(next, animationConfig, cb)\n } else {\n runOnUI((targetValue: number, animationConfig: TransitionConfig) => {\n 'worklet'\n sharedValue.value = applyAnimation(targetValue, animationConfig, cb)\n })(next, animationConfig)\n }\n }\n },\n\n stop() {\n cancelAnimation(sharedValue)\n },\n }),\n [sharedValue]\n )\n },\n\n // =========================================================================\n // useAnimatedNumberReaction - React to animated value changes\n // =========================================================================\n useAnimatedNumberReaction({ value }, onValue) {\n const instance = value.getInstance()\n\n return useAnimatedReaction(\n () => instance.value,\n (next, prev) => {\n if (prev !== next) {\n runOnJS(onValue)(next)\n }\n },\n [onValue, instance]\n )\n },\n\n // =========================================================================\n // useAnimatedNumberStyle - Create animated styles from values\n // =========================================================================\n useAnimatedNumberStyle(val, getStyle) {\n const instance = val.getInstance()\n\n if (isWeb) {\n // web: must pass explicit deps (no babel plugin)\n return useAnimatedStyle(() => {\n 'worklet'\n return getStyle(instance.value)\n }, [instance, getStyle])\n }\n\n const styleVal = useDerivedValue(() => {\n 'worklet'\n return getStyle(instance.value)\n })\n\n const animatedStyle = useAnimatedStyle(() => {\n 'worklet'\n return styleVal.value\n })\n\n silenceAnimatedComponentDevCheck(animatedStyle)\n\n return animatedStyle\n },\n\n useAnimatedNumbersStyle(vals, getStyle) {\n const instances = vals.map((v) => v.getInstance())\n\n const animatedStyle = useAnimatedStyle(\n () => {\n 'worklet'\n const currentValues = instances.map((inst) => inst.value)\n return getStyle(...currentValues)\n },\n isWeb ? [getStyle, ...instances] : undefined\n )\n\n silenceAnimatedComponentDevCheck(animatedStyle)\n\n return animatedStyle\n },\n\n // =========================================================================\n // useAnimations - Main animation hook for components\n // =========================================================================\n useAnimations(animationProps) {\n const {\n props,\n presence,\n style,\n componentState,\n useStyleEmitter,\n themeName,\n stateRef,\n styleState,\n } = animationProps\n\n // State flags\n const isHydrating = componentState.unmounted === true\n const isMounting = componentState.unmounted === 'should-enter'\n const isEntering = !!componentState.unmounted\n\n // Presence state for exit animations\n const isExiting = presence?.[0] === false\n\n // Track if we just finished entering (transition from entering to not entering)\n const wasEnteringRef = useRef(isEntering)\n const justFinishedEntering = wasEnteringRef.current && !isEntering\n React.useEffect(() => {\n wasEnteringRef.current = isEntering\n })\n\n // Use effectiveTransition computed by createComponent (single source of truth)\n const effectiveTransition = styleState?.effectiveTransition ?? props.transition\n const normalized = normalizeTransition(effectiveTransition)\n // Use 'enter' if we're mounting OR if we just finished entering\n const animationState: 'enter' | 'exit' | 'default' = isExiting\n ? 'exit'\n : isMounting || justFinishedEntering\n ? 'enter'\n : 'default'\n const animationKey = getEffectiveAnimation(normalized, animationState)\n\n const disableAnimation = isHydrating || !animationKey\n\n // Theme state for dynamic values - use themeName from props instead of hook\n const isDark = themeName?.startsWith('dark') || false\n\n // Get sendExitComplete callback from presence\n const sendExitComplete = presence?.[1]\n\n // =========================================================================\n // Exit cycle state for deterministic per-property completion tracking\n // =========================================================================\n const exitCycleIdRef = useRef(0)\n const pendingExitKeysRef = useRef<Set<string>>(new Set())\n const exitCompletedRef = useRef(false)\n const wasExitingRef = useRef(false)\n\n // detect transition into/out of exiting state\n const justStartedExiting = isExiting && !wasExitingRef.current\n const justStoppedExiting = !isExiting && wasExitingRef.current\n\n // stable callback to mark a property as done (called from worklet via runOnJS)\n const markExitKeyDone = useEvent(\n (key: string, cycleId: number, finished: boolean) => {\n // ignore callbacks from stale cycles\n if (cycleId !== exitCycleIdRef.current) return\n // ignore if already completed\n if (exitCompletedRef.current) return\n // count both finished and canceled animations as \"done\" during exit\n // (element is leaving anyway, canceled animations shouldn't block completion)\n\n pendingExitKeysRef.current.delete(key)\n\n // check if all exit animations are done\n if (pendingExitKeysRef.current.size === 0) {\n exitCompletedRef.current = true\n sendExitComplete?.()\n }\n }\n )\n\n // SharedValue to pass exit state into worklet\n const isExitingRef = useSharedValue(isExiting)\n const exitCycleIdShared = useSharedValue(exitCycleIdRef.current)\n\n // start new exit cycle only on transition INTO exiting (not every render while exiting)\n if (justStartedExiting) {\n exitCycleIdRef.current++\n exitCompletedRef.current = false\n pendingExitKeysRef.current.clear()\n }\n // invalidate pending callbacks when exit is canceled/interrupted\n if (justStoppedExiting) {\n exitCycleIdRef.current++\n pendingExitKeysRef.current.clear()\n }\n\n // update shared values (using effect to avoid writing during render)\n useIsomorphicLayoutEffect(() => {\n isExitingRef.value = isExiting\n exitCycleIdShared.value = exitCycleIdRef.current\n }, [isExiting, exitCycleIdRef.current])\n\n // track previous exiting state\n React.useEffect(() => {\n wasExitingRef.current = isExiting\n })\n\n // =========================================================================\n // avoidRerenders: SharedValues for style updates without re-renders\n // =========================================================================\n const animatedTargetsRef = useSharedValue<Record<string, unknown> | null>(null)\n const staticTargetsRef = useSharedValue<Record<string, unknown> | null>(null)\n const transformTargetsRef = useSharedValue<Array<Record<string, unknown>> | null>(\n null\n )\n\n // Separate styles into animated and static\n const { animatedStyles, staticStyles } = useMemo(() => {\n const animated: Record<string, unknown> = {}\n const staticStyles: Record<string, unknown> = {}\n const animateOnly = props.animateOnly as string[] | undefined\n\n for (const key in style) {\n const rawValue = (style as Record<string, unknown>)[key]\n const value = resolveDynamicValue(rawValue, isDark)\n\n if (value === undefined) continue\n\n if (disableAnimation) {\n staticStyles[key] = cloneAnimationValue(value)\n continue\n }\n\n if (canAnimateProperty(key, value, animateOnly)) {\n animated[key] = cloneAnimationValue(value)\n } else {\n staticStyles[key] = cloneAnimationValue(value)\n }\n }\n\n // During mount, include animated values in static to prevent flicker\n if (isMounting) {\n for (const key in animated) {\n staticStyles[key] = animated[key]\n }\n }\n\n return { animatedStyles: animated, staticStyles }\n }, [disableAnimation, style, isDark, isMounting, props.animateOnly])\n\n // reconcile the emitter latch with real re-renders.\n //\n // the avoidReRenders fast path lets a pure pseudo change (hover/press/focus) push\n // styles straight to the worklet via useStyleEmitter with no React commit — it sets\n // animatedTargetsRef. the worklet then treats `animatedTargetsRef !== null` as a\n // permanent latch: once the emitter has fired even once, it reads its last-emitted\n // snapshot and IGNORES `animatedStyles` from every subsequent re-render. so a base\n // style that changes through React (e.g. a row's `backgroundColor` flipping with an\n // external selection store, not a hover) never reaches the screen — it stays stuck on\n // the stale emitted value until the next hover re-fires the emitter. (the \"active row\n // highlight gets stuck until you hover it again\" report.)\n //\n // a real re-render is the freshest source of truth for the base style, so on render we\n // drop the emitter latch and let the worklet fall back to `animatedStyles`. the one\n // exception: while a self pseudo (hover/press/focus) is active the emitted style is a\n // transient override that isn't in this render, so keep it latched — otherwise an\n // unrelated re-render while hovering would snap back to the base. `pseudoActiveRef`\n // tracks that flag straight off the emitter (which fires on every pseudo transition), so\n // the un-hover/un-press emission flips it false and the next render reclaims the style.\n // no value comparison needed; runtime media stays correct because a render re-reads live\n // media into `animatedStyles`.\n // exit overrides the pseudo exception: the exit render's style IS the\n // authoritative target, and an element that exits while hovered/focused (every\n // dialog closed by clicking a button inside it) would otherwise keep the stale\n // emitted base latched — the worklet then \"animates\" to values already on\n // screen, every exit-key callback completes in a frame, and AnimatePresence\n // unmounts immediately (the dialog-exit-snap). mirrored into a plain ref so the\n // emitter callback (which runs outside render) can read it.\n const pseudoActiveRef = useRef(false)\n const isExitingJSRef = useRef(false)\n isExitingJSRef.current = isExiting\n useIsomorphicLayoutEffect(() => {\n if (\n (isExiting || !pseudoActiveRef.current) &&\n animatedTargetsRef.value !== null\n ) {\n animatedTargetsRef.value = null\n staticTargetsRef.value = null\n transformTargetsRef.value = null\n }\n })\n\n // Build animation config with per-property overrides using normalized transition\n const { baseConfig, propertyConfigs } = useMemo(() => {\n if (isHydrating) {\n return {\n baseConfig: { type: 'timing' as const, duration: 0 },\n propertyConfigs: {} as Record<string, TransitionConfig>,\n }\n }\n\n // use effectiveTransition (createComponent's single source of truth) so a\n // platform-pseudo component with no declared transition resolves its BASE\n // config to instant ('0ms') too — not just its pseudo flips. otherwise base\n // style changes on the driver path animate with the default spring and a\n // hover-out / base color change visibly lingers (looks \"stuck\").\n return buildTransitionConfig(\n effectiveTransition,\n animations,\n animationState,\n getStyleKeys(animatedStyles)\n )\n }, [isHydrating, effectiveTransition, animatedStyles, animationState])\n\n // Store config in SharedValue for worklet access (concurrent-safe)\n // Using useEffect to avoid writing to shared value during render\n const configRef = useSharedValue({\n baseConfig,\n propertyConfigs,\n disableAnimation,\n isHydrating,\n })\n\n useIsomorphicLayoutEffect(() => {\n configRef.value = {\n baseConfig,\n propertyConfigs,\n disableAnimation,\n isHydrating,\n }\n }, [baseConfig, propertyConfigs, disableAnimation, isHydrating])\n\n // =========================================================================\n // avoidRerenders: register style emitter callback\n // when hover/press/etc state changes, this is called instead of re-rendering\n // =========================================================================\n useStyleEmitter?.(\n (nextStyle: Record<string, unknown>, effectiveTransition, pseudoActive) => {\n // while exiting, the exit render owns the style — a pseudo flip mid-exit\n // (hover-out as the element fades under the cursor) must not re-latch the\n // base style over the in-flight exit targets.\n if (isExitingJSRef.current) return\n // track whether a self pseudo is active so the render-time layout effect knows whether\n // this emitter snapshot is a transient override to keep latched or a base it can drop.\n pseudoActiveRef.current = pseudoActive === true\n const animateOnly = props.animateOnly as string[] | undefined\n const animated: Record<string, unknown> = {}\n const statics: Record<string, unknown> = {}\n const transforms: Array<Record<string, unknown>> = []\n\n // effectiveTransition is computed in createComponent based on entering/exiting pseudo states\n // rebuild config whenever transition changes (entering OR exiting pseudo states)\n const transitionToUse = effectiveTransition ?? props.transition\n const { baseConfig: newBase, propertyConfigs: newPropertyConfigs } =\n buildTransitionConfig(\n transitionToUse,\n animations,\n animationState,\n getStyleKeys(nextStyle)\n )\n\n // update configRef with the new config\n configRef.value = {\n baseConfig: newBase,\n propertyConfigs: newPropertyConfigs,\n disableAnimation: configRef.value.disableAnimation,\n isHydrating: configRef.value.isHydrating,\n }\n\n for (const key in nextStyle) {\n const rawValue = nextStyle[key]\n const value = resolveDynamicValue(rawValue, isDark)\n\n if (value == undefined) continue\n\n if (configRef.value.disableAnimation) {\n statics[key] = cloneAnimationValue(value)\n continue\n }\n\n if (key === 'transform' && Array.isArray(value)) {\n for (const t of value as Record<string, unknown>[]) {\n if (t && typeof t === 'object') {\n const tKey = Object.keys(t)[0]\n const tVal = t[tKey]\n if (typeof tVal === 'number' || typeof tVal === 'string') {\n transforms.push(cloneAnimationValue(t) as Record<string, unknown>)\n }\n }\n }\n continue\n }\n\n if (canAnimateProperty(key, value, animateOnly)) {\n animated[key] = cloneAnimationValue(value)\n } else {\n statics[key] = cloneAnimationValue(value)\n }\n }\n\n // update shared values - on web, the mapper watches these if passed in dependencies\n animatedTargetsRef.value = animated\n staticTargetsRef.value = statics\n transformTargetsRef.value = transforms\n\n if (\n process.env.NODE_ENV === 'development' &&\n props.debug &&\n props.debug !== 'profile'\n ) {\n console.info('[animations-reanimated] useStyleEmitter update', {\n animated,\n statics,\n transforms,\n })\n }\n }\n )\n\n // Compute and register exit keys synchronously during render to avoid race conditions\n // This must happen BEFORE useAnimatedStyle runs so callbacks have a populated set\n const exitKeysRegistered = useRef(false)\n if (justStartedExiting && sendExitComplete) {\n const exitKeys: string[] = []\n const animateOnly = props.animateOnly as string[] | undefined\n\n // regular animated properties\n for (const key in animatedStyles) {\n if (key === 'transform') continue\n if (canAnimateProperty(key, animatedStyles[key], animateOnly)) {\n exitKeys.push(key)\n }\n }\n\n // transform sub-keys (filter by animateOnly if specified)\n const transforms = animatedStyles.transform\n if (transforms && Array.isArray(transforms)) {\n for (const t of transforms) {\n if (!t) continue\n const tKey = Object.keys(t)[0]\n if (tKey) {\n // check animateOnly filter for transform sub-keys\n if (animateOnly && !animateOnly.includes(tKey)) {\n continue\n }\n exitKeys.push(`transform:${tKey}`)\n }\n }\n }\n\n // register keys for this cycle\n pendingExitKeysRef.current = new Set(exitKeys)\n exitKeysRegistered.current = exitKeys.length > 0\n }\n\n // handle zero-animation case in effect (after render commit)\n React.useEffect(() => {\n if (!justStartedExiting || !sendExitComplete) return\n\n // if no keys were registered, complete immediately\n if (!exitKeysRegistered.current && pendingExitKeysRef.current.size === 0) {\n if (!exitCompletedRef.current) {\n exitCompletedRef.current = true\n sendExitComplete()\n }\n }\n }, [justStartedExiting, sendExitComplete])\n\n // Create animated style\n const animatedStyle = useAnimatedStyle(\n () => {\n 'worklet'\n\n if (disableAnimation || isHydrating) {\n return {}\n }\n\n const result: Record<string, any> = {}\n const config = configRef.value\n\n // Check if we have avoidRerenders updates from useStyleEmitter\n const emitterAnimated = animatedTargetsRef.value\n const emitterStatic = staticTargetsRef.value\n const emitterTransforms = transformTargetsRef.value\n const hasEmitterUpdates = emitterAnimated !== null\n\n // Use emitter values if available, otherwise use React state values.\n // statics must fall back to the render's staticStyles (not {}): once an\n // emitter snapshot has applied static keys, reanimated never unsets\n // them, so after the latch drops a stale emitted value (e.g. a border\n // color that missed animateOnly) would keep painting over the fresh\n // style prop forever\n const animatedValues = hasEmitterUpdates ? emitterAnimated! : animatedStyles\n const staticValues = hasEmitterUpdates ? emitterStatic! : staticStyles\n\n // read exit state from shared values\n const currentlyExiting = isExitingRef.value\n const currentCycleId = exitCycleIdShared.value\n\n // Include static values from emitter (for hover/press style changes)\n for (const key in staticValues) {\n result[key] = staticValues[key]\n }\n\n // Animate regular properties\n for (const key in animatedValues) {\n if (key === 'transform') continue\n\n const targetValue = animatedValues[key]\n const propConfig = config.propertyConfigs[key] ?? config.baseConfig\n\n // create callback for exit tracking\n let callback: AnimationCallback | undefined\n if (currentlyExiting) {\n const capturedKey = key\n const capturedCycleId = currentCycleId\n callback = (finished) => {\n 'worklet'\n runOnJS(markExitKeyDone)(capturedKey, capturedCycleId, finished ?? false)\n }\n }\n\n result[key] = applyAnimation(targetValue as number, propConfig, callback)\n }\n\n // Handle transforms\n const transforms = hasEmitterUpdates\n ? emitterTransforms\n : animatedStyles.transform\n\n // Animate transform properties with validation\n if (transforms && Array.isArray(transforms)) {\n const validTransforms: Record<string, unknown>[] = []\n\n for (const t of transforms) {\n if (!t) continue\n const keys = Object.keys(t)\n if (keys.length === 0) continue\n const value = t[keys[0]]\n if (typeof value === 'number' || typeof value === 'string') {\n const transformKey = Object.keys(t)[0]\n const targetValue = t[transformKey]\n const propConfig =\n config.propertyConfigs[transformKey] ?? config.baseConfig\n\n // create callback for exit tracking (transform sub-key)\n let callback: AnimationCallback | undefined\n if (currentlyExiting) {\n const capturedKey = `transform:${transformKey}`\n const capturedCycleId = currentCycleId\n callback = (finished) => {\n 'worklet'\n runOnJS(markExitKeyDone)(\n capturedKey,\n capturedCycleId,\n finished ?? false\n )\n }\n }\n\n validTransforms.push({\n [transformKey]: applyAnimation(\n targetValue as number,\n propConfig,\n callback\n ),\n })\n }\n }\n\n if (validTransforms.length > 0) {\n result.transform = validTransforms\n }\n }\n\n return result\n },\n isWeb\n ? [\n animatedStyles,\n staticStyles,\n baseConfig,\n propertyConfigs,\n disableAnimation,\n isHydrating,\n // pass SharedValues so the mapper watches them on web (no babel plugin)\n animatedTargetsRef,\n staticTargetsRef,\n transformTargetsRef,\n isExitingRef,\n exitCycleIdShared,\n markExitKeyDone,\n ]\n : undefined\n )\n\n silenceAnimatedComponentDevCheck(animatedStyle)\n\n // Debug logging\n if (\n process.env.NODE_ENV === 'development' &&\n props.debug &&\n props.debug !== 'profile'\n ) {\n console.info('[animations-reanimated] useAnimations', {\n animationKey,\n componentState,\n isExiting,\n animatedStyles,\n staticStyles,\n baseConfig,\n propertyConfigs,\n })\n }\n\n return {\n style: [staticStyles, animatedStyle],\n }\n },\n }\n}\n"
10
10
  ]
11
11
  }