react-native-reanimated 3.8.0 → 3.9.0-layout-animation-experimental
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Common/cpp/Fabric/ShadowTreeCloner.cpp +5 -2
- package/Common/cpp/LayoutAnimations/LayoutAnimationsManager.cpp +42 -32
- package/Common/cpp/LayoutAnimations/LayoutAnimationsManager.h +5 -7
- package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +565 -0
- package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.h +74 -0
- package/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.h +140 -0
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +216 -58
- package/Common/cpp/NativeModules/NativeReanimatedModule.h +32 -11
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +2 -17
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.h +6 -8
- package/Common/cpp/ReanimatedRuntime/RNRuntimeDecorator.cpp +3 -0
- package/Common/cpp/ReanimatedRuntime/WorkletRuntime.cpp +3 -4
- package/Common/cpp/ReanimatedRuntime/WorkletRuntimeDecorator.cpp +8 -3
- package/Common/cpp/SharedItems/Shareables.cpp +31 -5
- package/Common/cpp/SharedItems/Shareables.h +18 -2
- package/Common/cpp/Tools/JSScheduler.cpp +29 -5
- package/Common/cpp/Tools/JSScheduler.h +21 -4
- package/Common/cpp/Tools/PlatformDepMethodsHolder.h +6 -2
- package/Common/cpp/Tools/UIRuntimeDecorator.cpp +6 -0
- package/Common/cpp/Tools/UIRuntimeDecorator.h +1 -0
- package/android/CMakeLists.txt +3 -0
- package/android/build.gradle +17 -5
- package/android/src/main/cpp/NativeProxy.cpp +77 -12
- package/android/src/main/cpp/NativeProxy.h +35 -1
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +58 -19
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedPackage.java +7 -2
- package/android/src/{reactNativeVersionPatch/ReanimatedUIManager/latest → main/java}/com/swmansion/reanimated/ReanimatedUIManagerFactory.java +5 -5
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +10 -6
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java +18 -1
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java +105 -17
- package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +2 -1
- package/android/src/paper/java/com/swmansion/reanimated/NativeReanimatedModuleSpec.java +37 -0
- package/android/src/{main/java/com/swmansion/reanimated → reactNativeVersionPatch/ReanimatedUIManager/73/com/swmansion}/ReanimatedModule.java +4 -3
- package/android/src/reactNativeVersionPatch/ReanimatedUIManager/{70 → 73}/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +1 -22
- package/android/src/reactNativeVersionPatch/ReanimatedUIManager/latest/com/swmansion/reanimated/ReanimatedModule.java +176 -0
- package/android/src/reactNativeVersionPatch/ReanimatedUIManager/latest/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +0 -26
- package/android/src/{fabric/java → reactNativeVersionPatch/RuntimeExecutor/73}/com/swmansion/reanimated/NativeProxy.java +16 -4
- package/android/src/reactNativeVersionPatch/RuntimeExecutor/latest/com/swmansion/reanimated/NativeProxy.java +143 -0
- package/apple/LayoutReanimation/REAAnimationsManager.h +3 -0
- package/apple/LayoutReanimation/REAAnimationsManager.m +11 -0
- package/apple/LayoutReanimation/REASharedTransitionManager.m +99 -23
- package/apple/LayoutReanimation/REASnapshot.h +1 -0
- package/apple/LayoutReanimation/REASnapshot.m +78 -37
- package/apple/REAModule.h +22 -2
- package/apple/REAModule.mm +97 -46
- package/apple/REANodesManager.h +3 -3
- package/apple/REANodesManager.mm +46 -22
- package/apple/native/NativeProxy.h +28 -2
- package/apple/native/NativeProxy.mm +65 -195
- package/apple/native/PlatformDepMethodsHolderImpl.h +59 -0
- package/apple/native/PlatformDepMethodsHolderImpl.mm +429 -0
- package/apple/sensor/ReanimatedSensor.m +5 -5
- package/lib/module/Animated.js.map +1 -1
- package/lib/module/ConfigHelper.js +1 -1
- package/lib/module/ConfigHelper.js.map +1 -1
- package/lib/module/animationBuilder.js +1 -0
- package/lib/module/animationBuilder.js.map +1 -1
- package/lib/module/createAnimatedComponent/InlinePropManager.js +4 -4
- package/lib/module/createAnimatedComponent/InlinePropManager.js.map +1 -1
- package/lib/module/createAnimatedComponent/JSPropsUpdater.js +9 -6
- package/lib/module/createAnimatedComponent/JSPropsUpdater.js.map +1 -1
- package/lib/module/createAnimatedComponent/JSPropsUpdater.web.js +11 -0
- package/lib/module/createAnimatedComponent/JSPropsUpdater.web.js.map +1 -0
- package/lib/module/createAnimatedComponent/PropsFilter.js +25 -9
- package/lib/module/createAnimatedComponent/PropsFilter.js.map +1 -1
- package/lib/module/createAnimatedComponent/commonTypes.js.map +1 -1
- package/lib/module/createAnimatedComponent/createAnimatedComponent.js +83 -52
- package/lib/module/createAnimatedComponent/createAnimatedComponent.js.map +1 -1
- package/lib/module/createAnimatedComponent/getViewInfo.js +37 -0
- package/lib/module/createAnimatedComponent/getViewInfo.js.map +1 -0
- package/lib/module/createAnimatedComponent/index.js.map +1 -1
- package/lib/module/createAnimatedComponent/setAndForwardRef.js +4 -5
- package/lib/module/createAnimatedComponent/setAndForwardRef.js.map +1 -1
- package/lib/module/createAnimatedComponent/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -2
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/mock.js +12 -12
- package/lib/module/mock.js.map +1 -1
- package/lib/module/propsAllowlists.js.map +1 -1
- package/lib/module/reanimated2/Bezier.js.map +1 -1
- package/lib/module/reanimated2/Colors.js +4 -11
- package/lib/module/reanimated2/Colors.js.map +1 -1
- package/lib/module/reanimated2/Easing.js +3 -7
- package/lib/module/reanimated2/Easing.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +16 -13
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/index.web.js.map +1 -1
- package/lib/module/reanimated2/PlatformChecker.js +2 -1
- package/lib/module/reanimated2/PlatformChecker.js.map +1 -1
- package/lib/module/reanimated2/PropAdapters.js +1 -1
- package/lib/module/reanimated2/PropAdapters.js.map +1 -1
- package/lib/module/reanimated2/PropsRegistry.js +1 -2
- package/lib/module/reanimated2/PropsRegistry.js.map +1 -1
- package/lib/module/reanimated2/Sensor.js +2 -2
- package/lib/module/reanimated2/Sensor.js.map +1 -1
- package/lib/module/reanimated2/SensorContainer.js +2 -2
- package/lib/module/reanimated2/SensorContainer.js.map +1 -1
- package/lib/module/reanimated2/UpdateLayoutAnimations.js +30 -8
- package/lib/module/reanimated2/UpdateLayoutAnimations.js.map +1 -1
- package/lib/module/reanimated2/UpdateProps.js.map +1 -1
- package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -1
- package/lib/module/reanimated2/WorkletEventHandler.js +74 -31
- package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -1
- package/lib/module/reanimated2/animation/clamp.js.map +1 -1
- package/lib/module/reanimated2/animation/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/decay.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/index.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/rigidDecay.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/rubberBandDecay.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/utils.js.map +1 -1
- package/lib/module/reanimated2/animation/delay.js.map +1 -1
- package/lib/module/reanimated2/animation/index.js.map +1 -1
- package/lib/module/reanimated2/animation/repeat.js +1 -6
- package/lib/module/reanimated2/animation/repeat.js.map +1 -1
- package/lib/module/reanimated2/animation/sequence.js +1 -5
- package/lib/module/reanimated2/animation/sequence.js.map +1 -1
- package/lib/module/reanimated2/animation/spring.js.map +1 -1
- package/lib/module/reanimated2/animation/springUtils.js +8 -10
- package/lib/module/reanimated2/animation/springUtils.js.map +1 -1
- package/lib/module/reanimated2/animation/styleAnimation.js +5 -4
- package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -1
- package/lib/module/reanimated2/animation/timing.js +4 -1
- package/lib/module/reanimated2/animation/timing.js.map +1 -1
- package/lib/module/reanimated2/animation/transformationMatrix/matrixUtils.js +1 -2
- package/lib/module/reanimated2/animation/transformationMatrix/matrixUtils.js.map +1 -1
- package/lib/module/reanimated2/animation/util.js +22 -2
- package/lib/module/reanimated2/animation/util.js.map +1 -1
- package/lib/module/reanimated2/commonTypes.js +3 -1
- package/lib/module/reanimated2/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/component/FlatList.js +1 -0
- package/lib/module/reanimated2/component/FlatList.js.map +1 -1
- package/lib/module/reanimated2/component/Image.js +1 -0
- package/lib/module/reanimated2/component/Image.js.map +1 -1
- package/lib/module/reanimated2/component/LayoutAnimationConfig.js +1 -0
- package/lib/module/reanimated2/component/LayoutAnimationConfig.js.map +1 -1
- package/lib/module/reanimated2/component/PerformanceMonitor.js +169 -0
- package/lib/module/reanimated2/component/PerformanceMonitor.js.map +1 -0
- package/lib/module/reanimated2/component/ScrollView.js +1 -0
- package/lib/module/reanimated2/component/ScrollView.js.map +1 -1
- package/lib/module/reanimated2/component/Text.js +1 -0
- package/lib/module/reanimated2/component/Text.js.map +1 -1
- package/lib/module/reanimated2/component/View.js +1 -0
- package/lib/module/reanimated2/component/View.js.map +1 -1
- package/lib/module/reanimated2/core.js +6 -15
- package/lib/module/reanimated2/core.js.map +1 -1
- package/lib/module/reanimated2/errors.js +8 -8
- package/lib/module/reanimated2/errors.js.map +1 -1
- package/lib/module/reanimated2/fabricUtils.js +33 -8
- package/lib/module/reanimated2/fabricUtils.js.map +1 -1
- package/lib/module/reanimated2/fabricUtils.web.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +2 -2
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/index.js.map +1 -1
- package/lib/module/reanimated2/globals.d.js.map +1 -1
- package/lib/module/reanimated2/helperTypes.js.map +1 -1
- package/lib/module/reanimated2/hook/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/hook/index.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +1 -0
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +3 -4
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedProps.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedReaction.js +1 -0
- package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedRef.js +12 -7
- package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +3 -1
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedStyle.js +3 -6
- package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -1
- package/lib/module/reanimated2/hook/useDerivedValue.js +3 -1
- package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -1
- package/lib/module/reanimated2/hook/useEvent.js +4 -5
- package/lib/module/reanimated2/hook/useEvent.js.map +1 -1
- package/lib/module/reanimated2/hook/useFrameCallback.js +1 -2
- package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -1
- package/lib/module/reanimated2/hook/useHandler.js +3 -1
- package/lib/module/reanimated2/hook/useHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useReducedMotion.js.map +1 -1
- package/lib/module/reanimated2/hook/useScrollViewOffset.js +60 -16
- package/lib/module/reanimated2/hook/useScrollViewOffset.js.map +1 -1
- package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -1
- package/lib/module/reanimated2/hook/useWorkletCallback.js.map +1 -1
- package/lib/module/reanimated2/hook/utils.js.map +1 -1
- package/lib/module/reanimated2/index.js +2 -0
- package/lib/module/reanimated2/index.js.map +1 -1
- package/lib/module/reanimated2/initializers.js +1 -5
- package/lib/module/reanimated2/initializers.js.map +1 -1
- package/lib/module/reanimated2/interpolateColor.js +2 -6
- package/lib/module/reanimated2/interpolateColor.js.map +1 -1
- package/lib/module/reanimated2/interpolation.js +1 -1
- package/lib/module/reanimated2/interpolation.js.map +1 -1
- package/lib/module/reanimated2/isSharedValue.js.map +1 -1
- package/lib/module/reanimated2/jestUtils.js +3 -6
- package/lib/module/reanimated2/jestUtils.js.map +1 -1
- package/lib/module/reanimated2/jestUtils.web.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js +5 -9
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/WebSensor.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/index.js +2 -2
- package/lib/module/reanimated2/js-reanimated/index.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/react-native-web.d.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +4 -2
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +12 -11
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +12 -10
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js +11 -4
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +22 -22
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +22 -22
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +26 -26
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +10 -10
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +6 -6
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +10 -10
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +18 -18
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +18 -18
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +10 -10
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +34 -34
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +17 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.js +16 -12
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.js +13 -7
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Bounce.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Fade.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Flip.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Lightspeed.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Pinwheel.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Roll.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Rotate.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Slide.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Stretch.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Zoom.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animationParser.js +0 -2
- package/lib/module/reanimated2/layoutReanimation/web/animationParser.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animationsManager.js +1 -2
- package/lib/module/reanimated2/layoutReanimation/web/animationsManager.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/componentStyle.js +3 -1
- package/lib/module/reanimated2/layoutReanimation/web/componentStyle.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/componentUtils.js +6 -7
- package/lib/module/reanimated2/layoutReanimation/web/componentUtils.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/config.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/createAnimation.js +2 -2
- package/lib/module/reanimated2/layoutReanimation/web/createAnimation.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/domUtils.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/web/domUtils.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/transition/Fading.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/transition/Linear.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/transition/Sequenced.web.js.map +1 -1
- package/lib/module/reanimated2/mappers.js +2 -4
- package/lib/module/reanimated2/mappers.js.map +1 -1
- package/lib/module/reanimated2/mockedRequestAnimationFrame.js.map +1 -1
- package/lib/module/reanimated2/mutables.js +2 -4
- package/lib/module/reanimated2/mutables.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/checkCppVersion.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/jsVersion.js +1 -1
- package/lib/module/reanimated2/platform-specific/jsVersion.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/dispatchCommand.js +2 -4
- package/lib/module/reanimated2/platformFunctions/dispatchCommand.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/dispatchCommand.web.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/getRelativeCoords.js +2 -2
- package/lib/module/reanimated2/platformFunctions/getRelativeCoords.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/index.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/measure.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/measure.web.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/scrollTo.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/scrollTo.web.js +1 -1
- package/lib/module/reanimated2/platformFunctions/scrollTo.web.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/setGestureState.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/setGestureState.web.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/setNativeProps.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/setNativeProps.web.js.map +1 -1
- package/lib/module/reanimated2/pluginUtils.js.map +1 -1
- package/lib/module/reanimated2/publicGlobals.js.map +1 -1
- package/lib/module/reanimated2/runtimes.js +11 -19
- package/lib/module/reanimated2/runtimes.js.map +1 -1
- package/lib/module/reanimated2/screenTransition/RNScreensTurboModule.js +20 -0
- package/lib/module/reanimated2/screenTransition/RNScreensTurboModule.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/animationManager.js +41 -0
- package/lib/module/reanimated2/screenTransition/animationManager.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/commonTypes.js +4 -0
- package/lib/module/reanimated2/screenTransition/commonTypes.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/index.js +5 -0
- package/lib/module/reanimated2/screenTransition/index.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/presets.js +157 -0
- package/lib/module/reanimated2/screenTransition/presets.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/styleUpdater.js +62 -0
- package/lib/module/reanimated2/screenTransition/styleUpdater.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/swipeSimulator.js +190 -0
- package/lib/module/reanimated2/screenTransition/swipeSimulator.js.map +1 -0
- package/lib/module/reanimated2/shareableMappingCache.js.map +1 -1
- package/lib/module/reanimated2/shareables.js +27 -10
- package/lib/module/reanimated2/shareables.js.map +1 -1
- package/lib/module/reanimated2/threads.js +9 -34
- package/lib/module/reanimated2/threads.js.map +1 -1
- package/lib/module/reanimated2/valueSetter.js +1 -2
- package/lib/module/reanimated2/valueSetter.js.map +1 -1
- package/lib/module/reanimated2/valueUnpacker.js +4 -3
- package/lib/module/reanimated2/valueUnpacker.js.map +1 -1
- package/lib/module/specs/NativeReanimatedModule.js +5 -0
- package/lib/module/specs/NativeReanimatedModule.js.map +1 -0
- package/lib/typescript/ConfigHelper.d.ts +1 -0
- package/lib/typescript/createAnimatedComponent/InlinePropManager.d.ts +1 -1
- package/lib/typescript/createAnimatedComponent/JSPropsUpdater.web.d.ts +6 -0
- package/lib/typescript/createAnimatedComponent/PropsFilter.d.ts +3 -0
- package/lib/typescript/createAnimatedComponent/getViewInfo.d.ts +9 -0
- package/lib/typescript/reanimated2/NativeReanimated/NativeReanimated.d.ts +8 -13
- package/lib/typescript/reanimated2/UpdateLayoutAnimations.d.ts +12 -1
- package/lib/typescript/reanimated2/WorkletEventHandler.d.ts +16 -9
- package/lib/typescript/reanimated2/animation/util.d.ts +2 -0
- package/lib/typescript/reanimated2/component/LayoutAnimationConfig.d.ts +1 -1
- package/lib/typescript/reanimated2/component/PerformanceMonitor.d.ts +2 -0
- package/lib/typescript/reanimated2/core.d.ts +3 -4
- package/lib/typescript/reanimated2/hook/commonTypes.d.ts +6 -0
- package/lib/typescript/reanimated2/hook/useEvent.d.ts +2 -3
- package/lib/typescript/reanimated2/hook/useScrollViewOffset.d.ts +3 -1
- package/lib/typescript/reanimated2/index.d.ts +3 -0
- package/lib/typescript/reanimated2/js-reanimated/JSReanimated.d.ts +2 -2
- package/lib/typescript/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +2 -1
- package/lib/typescript/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.d.ts +2 -2
- package/lib/typescript/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.d.ts +2 -2
- package/lib/typescript/reanimated2/platform-specific/jsVersion.d.ts +1 -1
- package/lib/typescript/reanimated2/screenTransition/RNScreensTurboModule.d.ts +2 -0
- package/lib/typescript/reanimated2/screenTransition/animationManager.d.ts +3 -0
- package/lib/typescript/reanimated2/screenTransition/commonTypes.d.ts +38 -0
- package/lib/typescript/reanimated2/screenTransition/index.d.ts +3 -0
- package/lib/typescript/reanimated2/screenTransition/presets.d.ts +11 -0
- package/lib/typescript/reanimated2/screenTransition/styleUpdater.d.ts +3 -0
- package/lib/typescript/reanimated2/screenTransition/swipeSimulator.d.ts +2 -0
- package/lib/typescript/specs/NativeReanimatedModule.d.ts +6 -0
- package/package.json +29 -17
- package/plugin/build/plugin.js +7 -2
- package/src/ConfigHelper.ts +1 -1
- package/src/animationBuilder.tsx +2 -0
- package/src/createAnimatedComponent/InlinePropManager.ts +2 -2
- package/src/createAnimatedComponent/JSPropsUpdater.ts +7 -6
- package/src/createAnimatedComponent/JSPropsUpdater.web.ts +26 -0
- package/src/createAnimatedComponent/PropsFilter.tsx +31 -6
- package/src/createAnimatedComponent/createAnimatedComponent.tsx +108 -60
- package/src/createAnimatedComponent/getViewInfo.ts +39 -0
- package/src/mock.ts +13 -1
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +33 -35
- package/src/reanimated2/PlatformChecker.ts +3 -2
- package/src/reanimated2/PropsRegistry.ts +1 -3
- package/src/reanimated2/UpdateLayoutAnimations.ts +53 -13
- package/src/reanimated2/WorkletEventHandler.ts +98 -39
- package/src/reanimated2/animation/styleAnimation.ts +8 -6
- package/src/reanimated2/animation/timing.ts +9 -1
- package/src/reanimated2/animation/util.ts +28 -3
- package/src/reanimated2/commonTypes.ts +4 -1
- package/src/reanimated2/component/PerformanceMonitor.tsx +216 -0
- package/src/reanimated2/core.ts +9 -31
- package/src/reanimated2/errors.ts +1 -0
- package/src/reanimated2/fabricUtils.ts +43 -18
- package/src/reanimated2/globals.d.ts +11 -1
- package/src/reanimated2/hook/commonTypes.ts +10 -0
- package/src/reanimated2/hook/useAnimatedRef.ts +20 -11
- package/src/reanimated2/hook/useEvent.ts +4 -4
- package/src/reanimated2/hook/useScrollViewOffset.ts +94 -23
- package/src/reanimated2/index.ts +11 -0
- package/src/reanimated2/js-reanimated/JSReanimated.ts +7 -7
- package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +4 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +9 -1
- package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +9 -1
- package/src/reanimated2/layoutReanimation/animationsManager.ts +10 -2
- package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +13 -0
- package/src/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.ts +17 -8
- package/src/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.ts +26 -7
- package/src/reanimated2/layoutReanimation/web/animationsManager.ts +1 -1
- package/src/reanimated2/layoutReanimation/web/componentStyle.ts +3 -1
- package/src/reanimated2/layoutReanimation/web/componentUtils.ts +1 -1
- package/src/reanimated2/layoutReanimation/web/createAnimation.ts +2 -2
- package/src/reanimated2/platform-specific/jsVersion.ts +1 -1
- package/src/reanimated2/platformFunctions/getRelativeCoords.ts +2 -2
- package/src/reanimated2/screenTransition/RNScreensTurboModule.ts +29 -0
- package/src/reanimated2/screenTransition/animationManager.ts +45 -0
- package/src/reanimated2/screenTransition/commonTypes.ts +63 -0
- package/src/reanimated2/screenTransition/index.ts +12 -0
- package/src/reanimated2/screenTransition/presets.ts +137 -0
- package/src/reanimated2/screenTransition/styleUpdater.ts +73 -0
- package/src/reanimated2/screenTransition/swipeSimulator.ts +238 -0
- package/src/reanimated2/shareables.ts +29 -6
- package/src/reanimated2/valueUnpacker.ts +10 -3
- package/src/specs/NativeReanimatedModule.ts +9 -0
- package/android/src/reactNativeVersionPatch/ReanimatedUIManager/70/com/swmansion/reanimated/ReanimatedUIManagerFactory.java +0 -16
- package/android/src/reactNativeVersionPatch/messageQueueThread/67/com/swmansion/reanimated/ReanimatedMessageQueueThread.java +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","flattenArray","makeViewDescriptorsSet","adaptViewConfig","updateProps","stopMapper","startMapper","isSharedValue","shouldBeUseWeb","SHOULD_BE_USE_WEB","isInlineStyleTransform","transform","Array","isArray","some","t","hasInlineStyles","inlinePropsHasChanged","styles1","styles2","keys","length","getInlinePropsUpdate","inlineProps","update","styleValue","entries","map","item","extractSharedValuesMapFromProps","props","styles","style","forEach","styleKey","getInlineStyle","isFirstRender","newStyle","InlinePropManager","constructor","attachInlineProps","animatedComponent","viewInfo","newInlineProps","hasChanged","_inlineProps","_inlinePropsViewDescriptors","viewTag","viewName","shadowNodeWrapper","viewConfig","add","tag","name","shareableViewDescriptors","maybeViewRef","items","Set","updaterFunction","_inlinePropsMapperId","values","detachInlineProps"],"sources":["InlinePropManager.ts"],"sourcesContent":["'use strict';\nimport type { StyleProps } from '../reanimated2';\nimport type {\n IAnimatedComponentInternal,\n AnimatedComponentProps,\n IInlinePropManager,\n ViewInfo,\n} from './commonTypes';\nimport { flattenArray } from './utils';\nimport { makeViewDescriptorsSet } from '../reanimated2/ViewDescriptorsSet';\nimport type {\n ViewDescriptorsSet,\n ViewRefSet,\n} from '../reanimated2/ViewDescriptorsSet';\nimport { adaptViewConfig } from '../ConfigHelper';\nimport updateProps from '../reanimated2/UpdateProps';\nimport { stopMapper, startMapper } from '../reanimated2/mappers';\nimport { isSharedValue } from '../reanimated2/isSharedValue';\nimport { shouldBeUseWeb } from '../reanimated2/PlatformChecker';\n\nconst SHOULD_BE_USE_WEB = shouldBeUseWeb();\n\nfunction isInlineStyleTransform(transform: unknown): boolean {\n if (!Array.isArray(transform)) {\n return false;\n }\n\n return transform.some((t: Record<string, unknown>) => hasInlineStyles(t));\n}\n\nfunction inlinePropsHasChanged(\n styles1: StyleProps,\n styles2: StyleProps\n): boolean {\n if (Object.keys(styles1).length !== Object.keys(styles2).length) {\n return true;\n }\n\n for (const key of Object.keys(styles1)) {\n if (styles1[key] !== styles2[key]) return true;\n }\n\n return false;\n}\n\nfunction getInlinePropsUpdate(inlineProps: Record<string, unknown>) {\n 'worklet';\n const update: Record<string, unknown> = {};\n for (const [key, styleValue] of Object.entries(inlineProps)) {\n if (isSharedValue(styleValue)) {\n update[key] = styleValue.value;\n } else if (Array.isArray(styleValue)) {\n update[key] = styleValue.map((item) => {\n return getInlinePropsUpdate(item);\n });\n } else if (typeof styleValue === 'object') {\n update[key] = getInlinePropsUpdate(styleValue as Record<string, unknown>);\n } else {\n update[key] = styleValue;\n }\n }\n return update;\n}\n\nfunction extractSharedValuesMapFromProps(\n props: AnimatedComponentProps<\n Record<string, unknown> /* Initial component props */\n >\n): Record<string, unknown> {\n const inlineProps: Record<string, unknown> = {};\n\n for (const key in props) {\n const value = props[key];\n if (key === 'style') {\n const styles = flattenArray<StyleProps>(props.style ?? []);\n styles.forEach((style) => {\n if (!style) {\n return;\n }\n for (const [styleKey, styleValue] of Object.entries(style)) {\n if (isSharedValue(styleValue)) {\n inlineProps[styleKey] = styleValue;\n } else if (\n styleKey === 'transform' &&\n isInlineStyleTransform(styleValue)\n ) {\n inlineProps[styleKey] = styleValue;\n }\n }\n });\n } else if (isSharedValue(value)) {\n inlineProps[key] = value;\n }\n }\n\n return inlineProps;\n}\n\nexport function hasInlineStyles(style: StyleProps): boolean {\n if (!style) {\n return false;\n }\n return Object.keys(style).some((key) => {\n const styleValue = style[key];\n return (\n isSharedValue(styleValue) ||\n (key === 'transform' && isInlineStyleTransform(styleValue))\n );\n });\n}\n\nexport function getInlineStyle(\n style: Record<string, unknown>,\n isFirstRender: boolean\n) {\n if (isFirstRender) {\n return getInlinePropsUpdate(style);\n }\n const newStyle: StyleProps = {};\n for (const [key, styleValue] of Object.entries(style)) {\n if (\n !isSharedValue(styleValue) &&\n !(key === 'transform' && isInlineStyleTransform(styleValue))\n ) {\n newStyle[key] = styleValue;\n }\n }\n return newStyle;\n}\n\nexport class InlinePropManager implements IInlinePropManager {\n _inlinePropsViewDescriptors: ViewDescriptorsSet | null = null;\n _inlinePropsMapperId: number | null = null;\n _inlineProps: StyleProps = {};\n\n public attachInlineProps(\n animatedComponent: React.Component<unknown, unknown> &\n IAnimatedComponentInternal,\n viewInfo: ViewInfo\n ) {\n const newInlineProps: Record<string, unknown> =\n extractSharedValuesMapFromProps(animatedComponent.props);\n const hasChanged = inlinePropsHasChanged(newInlineProps, this._inlineProps);\n\n if (hasChanged) {\n if (!this._inlinePropsViewDescriptors) {\n this._inlinePropsViewDescriptors = makeViewDescriptorsSet();\n\n const { viewTag, viewName, shadowNodeWrapper, viewConfig } = viewInfo;\n\n if (Object.keys(newInlineProps).length && viewConfig) {\n adaptViewConfig(viewConfig);\n }\n\n this._inlinePropsViewDescriptors.add({\n tag: viewTag as number,\n name: viewName!,\n shadowNodeWrapper: shadowNodeWrapper!,\n });\n }\n const shareableViewDescriptors =\n this._inlinePropsViewDescriptors.shareableViewDescriptors;\n\n const maybeViewRef = SHOULD_BE_USE_WEB\n ? ({ items: new Set([animatedComponent]) } as ViewRefSet<unknown>) // see makeViewsRefSet\n : undefined;\n const updaterFunction = () => {\n 'worklet';\n const update = getInlinePropsUpdate(newInlineProps);\n updateProps(shareableViewDescriptors, update, maybeViewRef);\n };\n this._inlineProps = newInlineProps;\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n this._inlinePropsMapperId = null;\n if (Object.keys(newInlineProps).length) {\n this._inlinePropsMapperId = startMapper(\n updaterFunction,\n Object.values(newInlineProps)\n );\n }\n }\n }\n\n public detachInlineProps() {\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","flattenArray","makeViewDescriptorsSet","adaptViewConfig","updateProps","stopMapper","startMapper","isSharedValue","shouldBeUseWeb","SHOULD_BE_USE_WEB","isInlineStyleTransform","transform","Array","isArray","some","hasInlineStyles","inlinePropsHasChanged","styles1","styles2","keys","length","getInlinePropsUpdate","inlineProps","update","styleValue","entries","map","item","extractSharedValuesMapFromProps","props","styles","style","forEach","styleKey","getInlineStyle","shouldGetInitialStyle","newStyle","InlinePropManager","constructor","attachInlineProps","animatedComponent","viewInfo","newInlineProps","hasChanged","_inlineProps","_inlinePropsViewDescriptors","viewTag","viewName","shadowNodeWrapper","viewConfig","add","tag","name","shareableViewDescriptors","maybeViewRef","items","Set","undefined","updaterFunction","_inlinePropsMapperId","values","detachInlineProps"],"sources":["InlinePropManager.ts"],"sourcesContent":["'use strict';\nimport type { StyleProps } from '../reanimated2';\nimport type {\n IAnimatedComponentInternal,\n AnimatedComponentProps,\n IInlinePropManager,\n ViewInfo,\n} from './commonTypes';\nimport { flattenArray } from './utils';\nimport { makeViewDescriptorsSet } from '../reanimated2/ViewDescriptorsSet';\nimport type {\n ViewDescriptorsSet,\n ViewRefSet,\n} from '../reanimated2/ViewDescriptorsSet';\nimport { adaptViewConfig } from '../ConfigHelper';\nimport updateProps from '../reanimated2/UpdateProps';\nimport { stopMapper, startMapper } from '../reanimated2/mappers';\nimport { isSharedValue } from '../reanimated2/isSharedValue';\nimport { shouldBeUseWeb } from '../reanimated2/PlatformChecker';\n\nconst SHOULD_BE_USE_WEB = shouldBeUseWeb();\n\nfunction isInlineStyleTransform(transform: unknown): boolean {\n if (!Array.isArray(transform)) {\n return false;\n }\n\n return transform.some((t: Record<string, unknown>) => hasInlineStyles(t));\n}\n\nfunction inlinePropsHasChanged(\n styles1: StyleProps,\n styles2: StyleProps\n): boolean {\n if (Object.keys(styles1).length !== Object.keys(styles2).length) {\n return true;\n }\n\n for (const key of Object.keys(styles1)) {\n if (styles1[key] !== styles2[key]) return true;\n }\n\n return false;\n}\n\nfunction getInlinePropsUpdate(inlineProps: Record<string, unknown>) {\n 'worklet';\n const update: Record<string, unknown> = {};\n for (const [key, styleValue] of Object.entries(inlineProps)) {\n if (isSharedValue(styleValue)) {\n update[key] = styleValue.value;\n } else if (Array.isArray(styleValue)) {\n update[key] = styleValue.map((item) => {\n return getInlinePropsUpdate(item);\n });\n } else if (typeof styleValue === 'object') {\n update[key] = getInlinePropsUpdate(styleValue as Record<string, unknown>);\n } else {\n update[key] = styleValue;\n }\n }\n return update;\n}\n\nfunction extractSharedValuesMapFromProps(\n props: AnimatedComponentProps<\n Record<string, unknown> /* Initial component props */\n >\n): Record<string, unknown> {\n const inlineProps: Record<string, unknown> = {};\n\n for (const key in props) {\n const value = props[key];\n if (key === 'style') {\n const styles = flattenArray<StyleProps>(props.style ?? []);\n styles.forEach((style) => {\n if (!style) {\n return;\n }\n for (const [styleKey, styleValue] of Object.entries(style)) {\n if (isSharedValue(styleValue)) {\n inlineProps[styleKey] = styleValue;\n } else if (\n styleKey === 'transform' &&\n isInlineStyleTransform(styleValue)\n ) {\n inlineProps[styleKey] = styleValue;\n }\n }\n });\n } else if (isSharedValue(value)) {\n inlineProps[key] = value;\n }\n }\n\n return inlineProps;\n}\n\nexport function hasInlineStyles(style: StyleProps): boolean {\n if (!style) {\n return false;\n }\n return Object.keys(style).some((key) => {\n const styleValue = style[key];\n return (\n isSharedValue(styleValue) ||\n (key === 'transform' && isInlineStyleTransform(styleValue))\n );\n });\n}\n\nexport function getInlineStyle(\n style: Record<string, unknown>,\n shouldGetInitialStyle: boolean\n) {\n if (shouldGetInitialStyle) {\n return getInlinePropsUpdate(style);\n }\n const newStyle: StyleProps = {};\n for (const [key, styleValue] of Object.entries(style)) {\n if (\n !isSharedValue(styleValue) &&\n !(key === 'transform' && isInlineStyleTransform(styleValue))\n ) {\n newStyle[key] = styleValue;\n }\n }\n return newStyle;\n}\n\nexport class InlinePropManager implements IInlinePropManager {\n _inlinePropsViewDescriptors: ViewDescriptorsSet | null = null;\n _inlinePropsMapperId: number | null = null;\n _inlineProps: StyleProps = {};\n\n public attachInlineProps(\n animatedComponent: React.Component<unknown, unknown> &\n IAnimatedComponentInternal,\n viewInfo: ViewInfo\n ) {\n const newInlineProps: Record<string, unknown> =\n extractSharedValuesMapFromProps(animatedComponent.props);\n const hasChanged = inlinePropsHasChanged(newInlineProps, this._inlineProps);\n\n if (hasChanged) {\n if (!this._inlinePropsViewDescriptors) {\n this._inlinePropsViewDescriptors = makeViewDescriptorsSet();\n\n const { viewTag, viewName, shadowNodeWrapper, viewConfig } = viewInfo;\n\n if (Object.keys(newInlineProps).length && viewConfig) {\n adaptViewConfig(viewConfig);\n }\n\n this._inlinePropsViewDescriptors.add({\n tag: viewTag as number,\n name: viewName!,\n shadowNodeWrapper: shadowNodeWrapper!,\n });\n }\n const shareableViewDescriptors =\n this._inlinePropsViewDescriptors.shareableViewDescriptors;\n\n const maybeViewRef = SHOULD_BE_USE_WEB\n ? ({ items: new Set([animatedComponent]) } as ViewRefSet<unknown>) // see makeViewsRefSet\n : undefined;\n const updaterFunction = () => {\n 'worklet';\n const update = getInlinePropsUpdate(newInlineProps);\n updateProps(shareableViewDescriptors, update, maybeViewRef);\n };\n this._inlineProps = newInlineProps;\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n this._inlinePropsMapperId = null;\n if (Object.keys(newInlineProps).length) {\n this._inlinePropsMapperId = startMapper(\n updaterFunction,\n Object.values(newInlineProps)\n );\n }\n }\n }\n\n public detachInlineProps() {\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
function _toPropertyKey(
|
|
5
|
-
function _toPrimitive(
|
|
6
|
-
import { NativeEventEmitter,
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
5
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
import { NativeEventEmitter, Platform, findNodeHandle } from 'react-native';
|
|
7
7
|
import { shouldBeUseWeb } from '../reanimated2/PlatformChecker';
|
|
8
8
|
import { runOnJS, runOnUIImmediately } from '../reanimated2/threads';
|
|
9
|
+
import NativeReanimatedModule from '../specs/NativeReanimatedModule';
|
|
9
10
|
const SHOULD_BE_USE_WEB = shouldBeUseWeb();
|
|
10
11
|
class JSPropsUpdaterPaper {
|
|
11
12
|
constructor() {
|
|
12
13
|
_defineProperty(this, "_reanimatedEventEmitter", void 0);
|
|
13
|
-
this._reanimatedEventEmitter = new NativeEventEmitter(
|
|
14
|
+
this._reanimatedEventEmitter = new NativeEventEmitter(
|
|
15
|
+
// NativeEventEmitter only uses this parameter on iOS.
|
|
16
|
+
Platform.OS === 'ios' ? NativeReanimatedModule : undefined);
|
|
14
17
|
}
|
|
15
18
|
addOnJSPropsChangeListener(animatedComponent) {
|
|
16
19
|
const viewTag = findNodeHandle(animatedComponent);
|
|
@@ -18,7 +21,7 @@ class JSPropsUpdaterPaper {
|
|
|
18
21
|
if (JSPropsUpdaterPaper._tagToComponentMapping.size === 1) {
|
|
19
22
|
const listener = data => {
|
|
20
23
|
const component = JSPropsUpdaterPaper._tagToComponentMapping.get(data.viewTag);
|
|
21
|
-
component === null || component === void 0
|
|
24
|
+
component === null || component === void 0 || component._updateFromNative(data.props);
|
|
22
25
|
};
|
|
23
26
|
this._reanimatedEventEmitter.addListener('onReanimatedPropsChange', listener);
|
|
24
27
|
}
|
|
@@ -37,7 +40,7 @@ class JSPropsUpdaterFabric {
|
|
|
37
40
|
if (!JSPropsUpdaterFabric.isInitialized) {
|
|
38
41
|
const updater = (viewTag, props) => {
|
|
39
42
|
const component = JSPropsUpdaterFabric._tagToComponentMapping.get(viewTag);
|
|
40
|
-
component === null || component === void 0
|
|
43
|
+
component === null || component === void 0 || component._updateFromNative(props);
|
|
41
44
|
};
|
|
42
45
|
runOnUIImmediately(() => {
|
|
43
46
|
'worklet';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","
|
|
1
|
+
{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","NativeEventEmitter","Platform","findNodeHandle","shouldBeUseWeb","runOnJS","runOnUIImmediately","NativeReanimatedModule","SHOULD_BE_USE_WEB","JSPropsUpdaterPaper","constructor","_reanimatedEventEmitter","OS","undefined","addOnJSPropsChangeListener","animatedComponent","viewTag","_tagToComponentMapping","set","size","listener","data","component","get","_updateFromNative","props","addListener","removeOnJSPropsChangeListener","delete","removeAllListeners","Map","JSPropsUpdaterFabric","isInitialized","updater","global","updateJSProps","JSPropsUpdaterWeb","_animatedComponent","JSPropsUpdater","_IS_FABRIC"],"sources":["JSPropsUpdater.ts"],"sourcesContent":["'use strict';\nimport { NativeEventEmitter, Platform, findNodeHandle } from 'react-native';\nimport type { NativeModule } from 'react-native';\nimport { shouldBeUseWeb } from '../reanimated2/PlatformChecker';\nimport type { StyleProps } from '../reanimated2';\nimport { runOnJS, runOnUIImmediately } from '../reanimated2/threads';\nimport type {\n AnimatedComponentProps,\n IAnimatedComponentInternal,\n IJSPropsUpdater,\n InitialComponentProps,\n} from './commonTypes';\nimport NativeReanimatedModule from '../specs/NativeReanimatedModule';\n\ninterface ListenerData {\n viewTag: number;\n props: StyleProps;\n}\n\nconst SHOULD_BE_USE_WEB = shouldBeUseWeb();\n\nclass JSPropsUpdaterPaper implements IJSPropsUpdater {\n private static _tagToComponentMapping = new Map();\n private _reanimatedEventEmitter: NativeEventEmitter;\n\n constructor() {\n this._reanimatedEventEmitter = new NativeEventEmitter(\n // NativeEventEmitter only uses this parameter on iOS.\n Platform.OS === 'ios'\n ? (NativeReanimatedModule as unknown as NativeModule)\n : undefined\n );\n }\n\n public addOnJSPropsChangeListener(\n animatedComponent: React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > &\n IAnimatedComponentInternal\n ) {\n const viewTag = findNodeHandle(animatedComponent);\n JSPropsUpdaterPaper._tagToComponentMapping.set(viewTag, animatedComponent);\n if (JSPropsUpdaterPaper._tagToComponentMapping.size === 1) {\n const listener = (data: ListenerData) => {\n const component = JSPropsUpdaterPaper._tagToComponentMapping.get(\n data.viewTag\n );\n component?._updateFromNative(data.props);\n };\n this._reanimatedEventEmitter.addListener(\n 'onReanimatedPropsChange',\n listener\n );\n }\n }\n\n public removeOnJSPropsChangeListener(\n animatedComponent: React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > &\n IAnimatedComponentInternal\n ) {\n const viewTag = findNodeHandle(animatedComponent);\n JSPropsUpdaterPaper._tagToComponentMapping.delete(viewTag);\n if (JSPropsUpdaterPaper._tagToComponentMapping.size === 0) {\n this._reanimatedEventEmitter.removeAllListeners(\n 'onReanimatedPropsChange'\n );\n }\n }\n}\n\nclass JSPropsUpdaterFabric implements IJSPropsUpdater {\n private static _tagToComponentMapping = new Map();\n private static isInitialized = false;\n\n constructor() {\n if (!JSPropsUpdaterFabric.isInitialized) {\n const updater = (viewTag: number, props: unknown) => {\n const component =\n JSPropsUpdaterFabric._tagToComponentMapping.get(viewTag);\n component?._updateFromNative(props);\n };\n runOnUIImmediately(() => {\n 'worklet';\n global.updateJSProps = (viewTag: number, props: unknown) => {\n runOnJS(updater)(viewTag, props);\n };\n })();\n JSPropsUpdaterFabric.isInitialized = true;\n }\n }\n\n public addOnJSPropsChangeListener(\n animatedComponent: React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > &\n IAnimatedComponentInternal\n ) {\n if (!JSPropsUpdaterFabric.isInitialized) {\n return;\n }\n const viewTag = findNodeHandle(animatedComponent);\n JSPropsUpdaterFabric._tagToComponentMapping.set(viewTag, animatedComponent);\n }\n\n public removeOnJSPropsChangeListener(\n animatedComponent: React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > &\n IAnimatedComponentInternal\n ) {\n if (!JSPropsUpdaterFabric.isInitialized) {\n return;\n }\n const viewTag = findNodeHandle(animatedComponent);\n JSPropsUpdaterFabric._tagToComponentMapping.delete(viewTag);\n }\n}\n\nclass JSPropsUpdaterWeb implements IJSPropsUpdater {\n public addOnJSPropsChangeListener(\n _animatedComponent: React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > &\n IAnimatedComponentInternal\n ) {\n // noop\n }\n\n public removeOnJSPropsChangeListener(\n _animatedComponent: React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > &\n IAnimatedComponentInternal\n ) {\n // noop\n }\n}\n\ntype JSPropsUpdaterOptions =\n | typeof JSPropsUpdaterWeb\n | typeof JSPropsUpdaterFabric\n | typeof JSPropsUpdaterPaper;\n\nlet JSPropsUpdater: JSPropsUpdaterOptions;\nif (SHOULD_BE_USE_WEB) {\n JSPropsUpdater = JSPropsUpdaterWeb;\n} else if (global._IS_FABRIC) {\n JSPropsUpdater = JSPropsUpdaterFabric;\n} else {\n JSPropsUpdater = JSPropsUpdaterPaper;\n}\n\nexport default JSPropsUpdater;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["JSPropsUpdaterWeb","addOnJSPropsChangeListener","_animatedComponent","removeOnJSPropsChangeListener"],"sources":["JSPropsUpdater.web.ts"],"sourcesContent":["'use strict';\nimport type {\n AnimatedComponentProps,\n IAnimatedComponentInternal,\n InitialComponentProps,\n} from './commonTypes';\n\nexport default class JSPropsUpdaterWeb {\n public addOnJSPropsChangeListener(\n _animatedComponent: React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > &\n IAnimatedComponentInternal\n ) {\n // noop\n }\n\n public removeOnJSPropsChangeListener(\n _animatedComponent: React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > &\n IAnimatedComponentInternal\n ) {\n // noop\n }\n}\n"],"mappings":"AAAA,YAAY;;AAOZ,eAAe,MAAMA,iBAAiB,CAAC;EAC9BC,0BAA0BA,CAC/BC,kBAG4B,EAC5B;IACA;EAAA;EAGKC,6BAA6BA,CAClCD,kBAG4B,EAC5B;IACA;EAAA;AAEJ","ignoreList":[]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
function _toPropertyKey(
|
|
5
|
-
function _toPrimitive(
|
|
6
|
-
import {
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
5
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
import { shallowEqual } from '../reanimated2/hook/utils';
|
|
7
|
+
import { isSharedValue } from '../reanimated2/isSharedValue';
|
|
7
8
|
import { isChromeDebugger } from '../reanimated2/PlatformChecker';
|
|
8
|
-
import WorkletEventHandler from '../reanimated2/WorkletEventHandler';
|
|
9
|
+
import { WorkletEventHandler } from '../reanimated2/WorkletEventHandler';
|
|
9
10
|
import { initialUpdaterRun } from '../reanimated2/animation';
|
|
10
11
|
import { hasInlineStyles, getInlineStyle } from './InlinePropManager';
|
|
11
12
|
import { flattenArray, has } from './utils';
|
|
@@ -17,21 +18,28 @@ function dummyListener() {
|
|
|
17
18
|
export class PropsFilter {
|
|
18
19
|
constructor() {
|
|
19
20
|
_defineProperty(this, "_initialStyle", {});
|
|
21
|
+
_defineProperty(this, "_previousProps", null);
|
|
22
|
+
_defineProperty(this, "_requiresNewInitials", true);
|
|
20
23
|
}
|
|
21
24
|
filterNonAnimatedProps(component) {
|
|
22
25
|
const inputProps = component.props;
|
|
26
|
+
this._maybePrepareForNewInitials(inputProps);
|
|
23
27
|
const props = {};
|
|
24
28
|
for (const key in inputProps) {
|
|
25
29
|
const value = inputProps[key];
|
|
26
30
|
if (key === 'style') {
|
|
27
31
|
const styleProp = inputProps.style;
|
|
28
32
|
const styles = flattenArray(styleProp ?? []);
|
|
33
|
+
if (this._requiresNewInitials) {
|
|
34
|
+
this._initialStyle = {};
|
|
35
|
+
}
|
|
29
36
|
const processedStyle = styles.map(style => {
|
|
30
37
|
if (style && style.viewDescriptors) {
|
|
31
38
|
var _style$viewsRef;
|
|
32
39
|
// this is how we recognize styles returned by useAnimatedStyle
|
|
33
|
-
|
|
34
|
-
|
|
40
|
+
// TODO - refactor, since `viewsRef` is only present on Web
|
|
41
|
+
(_style$viewsRef = style.viewsRef) === null || _style$viewsRef === void 0 || _style$viewsRef.add(component);
|
|
42
|
+
if (this._requiresNewInitials) {
|
|
35
43
|
this._initialStyle = {
|
|
36
44
|
...style.initial.value,
|
|
37
45
|
...this._initialStyle,
|
|
@@ -40,7 +48,7 @@ export class PropsFilter {
|
|
|
40
48
|
}
|
|
41
49
|
return this._initialStyle;
|
|
42
50
|
} else if (hasInlineStyles(style)) {
|
|
43
|
-
return getInlineStyle(style,
|
|
51
|
+
return getInlineStyle(style, this._requiresNewInitials);
|
|
44
52
|
} else {
|
|
45
53
|
return style;
|
|
46
54
|
}
|
|
@@ -52,7 +60,8 @@ export class PropsFilter {
|
|
|
52
60
|
Object.keys(animatedProp.initial.value).forEach(initialValueKey => {
|
|
53
61
|
var _animatedProp$initial, _animatedProp$viewsRe;
|
|
54
62
|
props[initialValueKey] = (_animatedProp$initial = animatedProp.initial) === null || _animatedProp$initial === void 0 ? void 0 : _animatedProp$initial.value[initialValueKey];
|
|
55
|
-
|
|
63
|
+
// TODO - refacotr, since `viewsRef` is only present on Web
|
|
64
|
+
(_animatedProp$viewsRe = animatedProp.viewsRef) === null || _animatedProp$viewsRe === void 0 || _animatedProp$viewsRe.add(component);
|
|
56
65
|
});
|
|
57
66
|
}
|
|
58
67
|
} else if (has('workletEventHandler', value) && value.workletEventHandler instanceof WorkletEventHandler) {
|
|
@@ -64,14 +73,21 @@ export class PropsFilter {
|
|
|
64
73
|
props[key] = dummyListener;
|
|
65
74
|
}
|
|
66
75
|
} else if (isSharedValue(value)) {
|
|
67
|
-
if (
|
|
76
|
+
if (this._requiresNewInitials) {
|
|
68
77
|
props[key] = value.value;
|
|
69
78
|
}
|
|
70
79
|
} else if (key !== 'onGestureHandlerStateChange' || !isChromeDebugger()) {
|
|
71
80
|
props[key] = value;
|
|
72
81
|
}
|
|
73
82
|
}
|
|
83
|
+
this._requiresNewInitials = false;
|
|
74
84
|
return props;
|
|
75
85
|
}
|
|
86
|
+
_maybePrepareForNewInitials(inputProps) {
|
|
87
|
+
if (this._previousProps && inputProps.style) {
|
|
88
|
+
this._requiresNewInitials = !shallowEqual(this._previousProps, inputProps);
|
|
89
|
+
}
|
|
90
|
+
this._previousProps = inputProps;
|
|
91
|
+
}
|
|
76
92
|
}
|
|
77
93
|
//# sourceMappingURL=PropsFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","
|
|
1
|
+
{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","shallowEqual","isSharedValue","isChromeDebugger","WorkletEventHandler","initialUpdaterRun","hasInlineStyles","getInlineStyle","flattenArray","has","StyleSheet","dummyListener","PropsFilter","constructor","filterNonAnimatedProps","component","inputProps","props","_maybePrepareForNewInitials","styleProp","style","styles","_requiresNewInitials","_initialStyle","processedStyle","map","viewDescriptors","_style$viewsRef","viewsRef","add","initial","updater","flatten","animatedProp","animatedProps","undefined","keys","forEach","initialValueKey","_animatedProp$initial","_animatedProp$viewsRe","workletEventHandler","eventNames","length","eventName","listeners","_previousProps"],"sources":["PropsFilter.tsx"],"sourcesContent":["'use strict';\n\nimport { shallowEqual } from '../reanimated2/hook/utils';\nimport type { StyleProps } from '../reanimated2/commonTypes';\nimport { isSharedValue } from '../reanimated2/isSharedValue';\nimport { isChromeDebugger } from '../reanimated2/PlatformChecker';\nimport { WorkletEventHandler } from '../reanimated2/WorkletEventHandler';\nimport { initialUpdaterRun } from '../reanimated2/animation';\nimport { hasInlineStyles, getInlineStyle } from './InlinePropManager';\nimport type {\n AnimatedComponentProps,\n AnimatedProps,\n InitialComponentProps,\n IAnimatedComponentInternal,\n IPropsFilter,\n} from './commonTypes';\nimport { flattenArray, has } from './utils';\nimport { StyleSheet } from 'react-native';\n\nfunction dummyListener() {\n // empty listener we use to assign to listener properties for which animated\n // event is used.\n}\n\nexport class PropsFilter implements IPropsFilter {\n private _initialStyle = {};\n private _previousProps: React.Component['props'] | null = null;\n private _requiresNewInitials = true;\n\n public filterNonAnimatedProps(\n component: React.Component<unknown, unknown> & IAnimatedComponentInternal\n ): Record<string, unknown> {\n const inputProps =\n component.props as AnimatedComponentProps<InitialComponentProps>;\n\n this._maybePrepareForNewInitials(inputProps);\n\n const props: Record<string, unknown> = {};\n for (const key in inputProps) {\n const value = inputProps[key];\n if (key === 'style') {\n const styleProp = inputProps.style;\n const styles = flattenArray<StyleProps>(styleProp ?? []);\n if (this._requiresNewInitials) {\n this._initialStyle = {};\n }\n const processedStyle: StyleProps = styles.map((style) => {\n if (style && style.viewDescriptors) {\n // this is how we recognize styles returned by useAnimatedStyle\n // TODO - refactor, since `viewsRef` is only present on Web\n style.viewsRef?.add(component);\n if (this._requiresNewInitials) {\n this._initialStyle = {\n ...style.initial.value,\n ...this._initialStyle,\n ...initialUpdaterRun<StyleProps>(style.initial.updater),\n };\n }\n return this._initialStyle;\n } else if (hasInlineStyles(style)) {\n return getInlineStyle(style, this._requiresNewInitials);\n } else {\n return style;\n }\n });\n props[key] = StyleSheet.flatten(processedStyle);\n } else if (key === 'animatedProps') {\n const animatedProp = inputProps.animatedProps as Partial<\n AnimatedComponentProps<AnimatedProps>\n >;\n if (animatedProp.initial !== undefined) {\n Object.keys(animatedProp.initial.value).forEach((initialValueKey) => {\n props[initialValueKey] =\n animatedProp.initial?.value[initialValueKey];\n // TODO - refacotr, since `viewsRef` is only present on Web\n animatedProp.viewsRef?.add(component);\n });\n }\n } else if (\n has('workletEventHandler', value) &&\n value.workletEventHandler instanceof WorkletEventHandler\n ) {\n if (value.workletEventHandler.eventNames.length > 0) {\n value.workletEventHandler.eventNames.forEach((eventName) => {\n props[eventName] = has('listeners', value.workletEventHandler)\n ? (\n value.workletEventHandler.listeners as Record<string, unknown>\n )[eventName]\n : dummyListener;\n });\n } else {\n props[key] = dummyListener;\n }\n } else if (isSharedValue(value)) {\n if (this._requiresNewInitials) {\n props[key] = value.value;\n }\n } else if (key !== 'onGestureHandlerStateChange' || !isChromeDebugger()) {\n props[key] = value;\n }\n }\n this._requiresNewInitials = false;\n return props;\n }\n\n private _maybePrepareForNewInitials(\n inputProps: AnimatedComponentProps<InitialComponentProps>\n ) {\n if (this._previousProps && inputProps.style) {\n this._requiresNewInitials = !shallowEqual(\n this._previousProps,\n inputProps\n );\n }\n this._previousProps = inputProps;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["commonTypes.ts"],"sourcesContent":["'use strict';\nimport type { Ref, Component } from 'react';\nimport type {\n StyleProps,\n BaseAnimationBuilder,\n ILayoutAnimationBuilder,\n EntryExitAnimationFunction,\n SharedTransition,\n SharedValue,\n} from '../reanimated2';\nimport type {\n ViewDescriptorsSet,\n ViewRefSet,\n} from '../reanimated2/ViewDescriptorsSet';\nimport type { SkipEnteringContext } from '../reanimated2/component/LayoutAnimationConfig';\nimport type { ShadowNodeWrapper } from '../reanimated2/commonTypes';\nimport type { ViewConfig } from '../ConfigHelper';\n\nexport interface AnimatedProps extends Record<string, unknown> {\n viewDescriptors?: ViewDescriptorsSet;\n viewsRef?: ViewRefSet<unknown>;\n initial?: SharedValue<StyleProps>;\n}\n\nexport interface ViewInfo {\n viewTag: number | HTMLElement | null;\n viewName: string | null;\n shadowNodeWrapper: ShadowNodeWrapper | null;\n viewConfig: ViewConfig;\n}\n\nexport interface IInlinePropManager {\n attachInlineProps(\n animatedComponent: React.Component<unknown, unknown>,\n viewInfo: ViewInfo\n ): void;\n detachInlineProps(): void;\n}\n\nexport interface IPropsFilter {\n filterNonAnimatedProps: (\n component: React.Component<unknown, unknown> & IAnimatedComponentInternal\n ) => Record<string, unknown>;\n}\n\nexport interface IJSPropsUpdater {\n addOnJSPropsChangeListener(\n animatedComponent: React.Component<unknown, unknown> &\n IAnimatedComponentInternal\n ): void;\n removeOnJSPropsChangeListener(\n animatedComponent: React.Component<unknown, unknown> &\n IAnimatedComponentInternal\n ): void;\n}\n\nexport type LayoutAnimationStaticContext = {\n presetName: string;\n};\n\nexport type AnimatedComponentProps<P extends Record<string, unknown>> = P & {\n forwardedRef?: Ref<Component>;\n style?: NestedArray<StyleProps>;\n animatedProps?: Partial<AnimatedComponentProps<AnimatedProps>>;\n animatedStyle?: StyleProps;\n layout?: (\n | BaseAnimationBuilder\n | ILayoutAnimationBuilder\n | typeof BaseAnimationBuilder\n ) &\n LayoutAnimationStaticContext;\n entering?: (\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe\n ) &\n LayoutAnimationStaticContext;\n exiting?: (\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe\n ) &\n LayoutAnimationStaticContext;\n sharedTransitionTag?: string;\n sharedTransitionStyle?: SharedTransition;\n};\n\nexport interface AnimatedComponentRef extends Component {\n setNativeProps?: (props: Record<string, unknown>) => void;\n getScrollableNode?: () => AnimatedComponentRef;\n getAnimatableRef?: () => AnimatedComponentRef;\n}\n\nexport interface IAnimatedComponentInternal {\n _styles: StyleProps[] | null;\n _animatedProps?: Partial<AnimatedComponentProps<AnimatedProps>>;\n _viewTag: number;\n _isFirstRender: boolean;\n jestAnimatedStyle: { value: StyleProps };\n _component: AnimatedComponentRef | HTMLElement | null;\n _sharedElementTransition: SharedTransition | null;\n _jsPropsUpdater: IJSPropsUpdater;\n _InlinePropManager: IInlinePropManager;\n _PropsFilter: IPropsFilter;\n _viewInfo?: ViewInfo;\n context: React.ContextType<typeof SkipEnteringContext>;\n}\n\nexport type NestedArray<T> = T | NestedArray<T>[];\n\nexport interface InitialComponentProps extends Record<string, unknown> {\n ref?: Ref<Component>;\n collapsable?: boolean;\n}\n"],"mappings":"AAAA,YAAY;;AAAC"}
|
|
1
|
+
{"version":3,"names":[],"sources":["commonTypes.ts"],"sourcesContent":["'use strict';\nimport type { Ref, Component } from 'react';\nimport type {\n StyleProps,\n BaseAnimationBuilder,\n ILayoutAnimationBuilder,\n EntryExitAnimationFunction,\n SharedTransition,\n SharedValue,\n} from '../reanimated2';\nimport type {\n ViewDescriptorsSet,\n ViewRefSet,\n} from '../reanimated2/ViewDescriptorsSet';\nimport type { SkipEnteringContext } from '../reanimated2/component/LayoutAnimationConfig';\nimport type { ShadowNodeWrapper } from '../reanimated2/commonTypes';\nimport type { ViewConfig } from '../ConfigHelper';\n\nexport interface AnimatedProps extends Record<string, unknown> {\n viewDescriptors?: ViewDescriptorsSet;\n viewsRef?: ViewRefSet<unknown>;\n initial?: SharedValue<StyleProps>;\n}\n\nexport interface ViewInfo {\n viewTag: number | HTMLElement | null;\n viewName: string | null;\n shadowNodeWrapper: ShadowNodeWrapper | null;\n viewConfig: ViewConfig;\n}\n\nexport interface IInlinePropManager {\n attachInlineProps(\n animatedComponent: React.Component<unknown, unknown>,\n viewInfo: ViewInfo\n ): void;\n detachInlineProps(): void;\n}\n\nexport interface IPropsFilter {\n filterNonAnimatedProps: (\n component: React.Component<unknown, unknown> & IAnimatedComponentInternal\n ) => Record<string, unknown>;\n}\n\nexport interface IJSPropsUpdater {\n addOnJSPropsChangeListener(\n animatedComponent: React.Component<unknown, unknown> &\n IAnimatedComponentInternal\n ): void;\n removeOnJSPropsChangeListener(\n animatedComponent: React.Component<unknown, unknown> &\n IAnimatedComponentInternal\n ): void;\n}\n\nexport type LayoutAnimationStaticContext = {\n presetName: string;\n};\n\nexport type AnimatedComponentProps<P extends Record<string, unknown>> = P & {\n forwardedRef?: Ref<Component>;\n style?: NestedArray<StyleProps>;\n animatedProps?: Partial<AnimatedComponentProps<AnimatedProps>>;\n animatedStyle?: StyleProps;\n layout?: (\n | BaseAnimationBuilder\n | ILayoutAnimationBuilder\n | typeof BaseAnimationBuilder\n ) &\n LayoutAnimationStaticContext;\n entering?: (\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe\n ) &\n LayoutAnimationStaticContext;\n exiting?: (\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe\n ) &\n LayoutAnimationStaticContext;\n sharedTransitionTag?: string;\n sharedTransitionStyle?: SharedTransition;\n};\n\nexport interface AnimatedComponentRef extends Component {\n setNativeProps?: (props: Record<string, unknown>) => void;\n getScrollableNode?: () => AnimatedComponentRef;\n getAnimatableRef?: () => AnimatedComponentRef;\n}\n\nexport interface IAnimatedComponentInternal {\n _styles: StyleProps[] | null;\n _animatedProps?: Partial<AnimatedComponentProps<AnimatedProps>>;\n _viewTag: number;\n _isFirstRender: boolean;\n jestAnimatedStyle: { value: StyleProps };\n _component: AnimatedComponentRef | HTMLElement | null;\n _sharedElementTransition: SharedTransition | null;\n _jsPropsUpdater: IJSPropsUpdater;\n _InlinePropManager: IInlinePropManager;\n _PropsFilter: IPropsFilter;\n _viewInfo?: ViewInfo;\n context: React.ContextType<typeof SkipEnteringContext>;\n}\n\nexport type NestedArray<T> = T | NestedArray<T>[];\n\nexport interface InitialComponentProps extends Record<string, unknown> {\n ref?: Ref<Component>;\n collapsable?: boolean;\n}\n"],"mappings":"AAAA,YAAY;;AAAC","ignoreList":[]}
|