react-native-tvos 0.85.2-0 → 0.86.0-0rc2
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/Libraries/Animated/AnimatedImplementation.js +6 -6
- package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
- package/Libraries/Animated/components/AnimatedImage.js +3 -3
- package/Libraries/Animated/components/AnimatedText.js +3 -3
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
- package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
- package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
- package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/RCTBlobCollector.h +1 -1
- package/Libraries/Blob/RCTBlobCollector.mm +14 -26
- package/Libraries/Blob/RCTBlobManager.mm +11 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
- package/Libraries/Components/Keyboard/Keyboard.js +4 -2
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
- package/Libraries/Components/Pressable/Pressable.js +2 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
- package/Libraries/Components/ScrollView/ScrollView.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
- package/Libraries/Components/TextInput/TextInput.js +5 -5
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
- package/Libraries/Components/Touchable/PooledClass.js +4 -4
- package/Libraries/Components/Touchable/Touchable.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
- package/Libraries/Components/View/View.js +96 -91
- package/Libraries/Components/View/ViewPropTypes.js +3 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
- package/Libraries/Core/ExceptionsManager.js +2 -8
- package/Libraries/Core/InitializeCore.js +0 -13
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
- package/Libraries/Image/Image.android.js +15 -35
- package/Libraries/Image/RCTImageLoader.mm +4 -2
- package/Libraries/Image/RelativeImageStub.js +2 -2
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -2
- package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
- package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
- package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
- package/Libraries/Modal/Modal.js +12 -7
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
- package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.mm +1 -2
- package/Libraries/Network/XMLHttpRequest.js +29 -12
- package/Libraries/Pressability/Pressability.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +2 -3
- package/Libraries/ReactNative/AppContainer-prod.js +1 -2
- package/Libraries/ReactNative/AppContainer.js +0 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
- package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
- package/Libraries/ReactNative/FabricUIManager.js +6 -0
- package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
- package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
- package/Libraries/ReactNative/RendererImplementation.js +26 -143
- package/Libraries/ReactNative/RendererProxy.js +4 -15
- package/Libraries/ReactNative/renderApplication.js +33 -59
- package/Libraries/ReactNative/requireNativeComponent.js +3 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
- package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
- package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
- package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
- package/Libraries/StyleSheet/processBoxShadow.js +9 -47
- package/Libraries/StyleSheet/processFilter.js +16 -8
- package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
- package/Libraries/Text/Text.js +4 -4
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
- package/Libraries/Text/TextNativeComponent.js +4 -4
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
- package/Libraries/Types/CodegenTypes.js +7 -4
- package/Libraries/Types/ReactDevToolsTypes.js +1 -1
- package/Libraries/Utilities/BackHandler.android.js +11 -3
- package/Libraries/Utilities/BackHandler.d.ts +11 -1
- package/Libraries/Utilities/BackHandler.ios.js +3 -1
- package/Libraries/Utilities/BackHandler.js.flow +6 -1
- package/Libraries/Utilities/HMRClient.js +28 -1
- package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +4 -4
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +27 -13
- package/React/Base/RCTBundleURLProvider.h +19 -1
- package/React/Base/RCTBundleURLProvider.mm +82 -0
- package/React/Base/RCTDefines.h +1 -1
- package/React/Base/RCTMultipartDataTask.h +1 -1
- package/React/Base/RCTMultipartDataTask.m +0 -3
- package/React/Base/RCTRootView.h +4 -0
- package/React/Base/RCTRootViewDelegate.h +5 -2
- package/React/Base/RCTVersion.m +3 -3
- package/React/Base/Surface/RCTSurface.h +3 -0
- package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
- package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
- package/React/Base/Surface/RCTSurfaceView.mm +2 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
- package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
- package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
- package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
- package/React/CoreModules/RCTRedBox+Internal.h +42 -0
- package/React/CoreModules/RCTRedBox.mm +30 -471
- package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
- package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
- package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
- package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
- package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
- package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
- package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
- package/React/CoreModules/RCTRedBoxController.mm +447 -0
- package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
- package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
- package/React/CoreModules/RCTWebSocketModule.mm +45 -6
- package/React/CoreModules/React-CoreModules.podspec +1 -0
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
- package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
- package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
- package/React/DevSupport/RCTPackagerConnection.mm +13 -11
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +148 -43
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
- package/React/Fabric/RCTConversions.h +14 -0
- package/React/Fabric/RCTScheduler.mm +18 -0
- package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
- package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
- package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
- package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
- package/React/Modules/RCTUIManager.mm +1 -1
- package/React/Profiler/RCTProfile.h +5 -0
- package/React/Profiler/RCTProfile.m +2 -1
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
- package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
- package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
- package/React/Views/RCTLayout.m +4 -3
- package/React/Views/ScrollView/RCTScrollView.h +6 -2
- package/ReactAndroid/api/ReactAndroid.api +37 -27
- package/ReactAndroid/build.gradle.kts +28 -21
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +17 -0
- package/ReactAndroid/publish.gradle +20 -46
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +135 -35
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +71 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +121 -51
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +26 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +134 -57
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +68 -15
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
- package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +17 -1
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
- package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
- package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
- package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +167 -69
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +36 -15
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
- package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -0
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +25 -4
- package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
- package/ReactCommon/React-Fabric.podspec +13 -0
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +5 -5
- package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
- package/ReactCommon/jsi/jsi/decorator.h +93 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
- package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
- package/ReactCommon/jsi/jsi/jsi.h +553 -224
- package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
- package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
- package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +46 -1
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +50 -0
- package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
- package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +18 -2
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +17 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +12 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
- package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +7 -3
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
- package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
- package/ReactCommon/logger/react_native_log.cpp +0 -1
- package/ReactCommon/react/bridging/Array.h +1 -1
- package/ReactCommon/react/debug/CMakeLists.txt +2 -1
- package/ReactCommon/react/debug/React-debug.podspec +7 -1
- package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
- package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
- package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
- package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
- package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -21
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +60 -25
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +267 -141
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +28 -14
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +48 -20
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +106 -43
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +14 -7
- package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
- package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +2 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +14 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +60 -25
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -11
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
- package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
- package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
- package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
- package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
- package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
- package/ReactCommon/react/networking/NetworkReporter.h +0 -1
- package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
- package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
- package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
- package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
- package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
- package/ReactCommon/react/renderer/animations/utils.h +12 -1
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
- package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
- package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
- package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
- package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
- package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +53 -5
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
- package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
- package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
- package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
- package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
- package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
- package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
- package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
- package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
- package/ReactCommon/react/renderer/core/Props.cpp +20 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
- package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
- package/ReactCommon/react/renderer/core/conversions.h +4 -0
- package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
- package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
- package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
- package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
- package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
- package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
- package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
- package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
- package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
- package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
- package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
- package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
- package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
- package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +152 -0
- package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
- package/ReactCommon/react/timing/React-timing.podspec +2 -0
- package/ReactCommon/react/timing/primitives.h +33 -1
- package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
- package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
- package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
- package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
- package/ReactCommon/yoga/yoga/YGNode.h +1 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
- package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
- package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
- package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
- package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
- package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
- package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
- package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
- package/ReactCommon/yoga/yoga/event/event.h +1 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
- package/ReactCommon/yoga/yoga/node/Node.h +4 -4
- package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
- package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
- package/ReactCommon/yoga/yoga/style/Style.h +261 -71
- package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
- package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
- package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
- package/cli.js +1 -1
- package/flow/HermesInternalType.js +1 -1
- package/flow/bom.js.flow +95 -3
- package/flow/dom.js.flow +89 -89
- package/gradle/libs.versions.toml +3 -1
- package/index.js +30 -3
- package/index.js.flow +23 -1
- package/package.json +13 -13
- package/react-native.config.js +3 -3
- package/scripts/cocoapods/rncore.rb +65 -11
- package/scripts/cocoapods/rndependencies.rb +65 -11
- package/scripts/cocoapods/utils.rb +53 -0
- package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
- package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
- package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
- package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
- package/scripts/codegen/generate-specs-cli-executor.js +1 -1
- package/scripts/generate-codegen-artifacts.js +20 -2
- package/scripts/generate-provider-cli.js +1 -1
- package/scripts/react_native_pods.rb +26 -2
- package/scripts/react_native_pods_utils/script_phases.rb +9 -3
- package/scripts/replace-rncore-version.js +91 -14
- package/scripts/xcode/with-environment.sh +7 -1
- package/sdks/.hermesv1version +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-utils.rb +92 -5
- package/sdks/hermes-engine/version.properties +2 -2
- package/src/private/animated/NativeAnimatedValidation.js +1 -1
- package/src/private/animated/createAnimatedPropsHook.js +2 -2
- package/src/private/components/virtualcollection/FlingConstants.js +21 -0
- package/src/private/components/virtualcollection/Virtual.js +62 -0
- package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
- package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
- package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
- package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
- package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
- package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
- package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
- package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
- package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +66 -37
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -7
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
- package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
- package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
- package/src/private/renderer/events/ReactNativeResponder.js +687 -0
- package/src/private/renderer/events/ResponderEvent.js +40 -0
- package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
- package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
- package/src/private/setup/setUpDOM.js +20 -0
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/types/HostComponent.js +1 -1
- package/src/private/utilities/toExtendedError.js +1 -1
- package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
- package/src/private/webapis/dom/events/Event.js +10 -1
- package/src/private/webapis/dom/events/EventTarget.js +60 -18
- package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +4 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
- package/Libraries/Renderer/shims/ReactNative.js +0 -27
- package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
- package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
- package/Libraries/Utilities/createPerformanceLogger.js +0 -329
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
- package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
|
@@ -118,8 +118,8 @@ const maybeVectorAnim = function (
|
|
|
118
118
|
configY[key] = y;
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
const aX = anim((value
|
|
122
|
-
const aY = anim((value
|
|
121
|
+
const aX = anim((value as AnimatedValueXY).x, configX);
|
|
122
|
+
const aY = anim((value as AnimatedValueXY).y, configY);
|
|
123
123
|
// We use `stopTogether: false` here because otherwise tracking will break
|
|
124
124
|
// because the second animation will get stopped before it can update.
|
|
125
125
|
return parallelImpl([aX, aY], {stopTogether: false});
|
|
@@ -142,10 +142,10 @@ const maybeVectorAnim = function (
|
|
|
142
142
|
configA[key] = a;
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
const aR = anim((value
|
|
146
|
-
const aG = anim((value
|
|
147
|
-
const aB = anim((value
|
|
148
|
-
const aA = anim((value
|
|
145
|
+
const aR = anim((value as AnimatedColor).r, configR);
|
|
146
|
+
const aG = anim((value as AnimatedColor).g, configG);
|
|
147
|
+
const aB = anim((value as AnimatedColor).b, configB);
|
|
148
|
+
const aA = anim((value as AnimatedColor).a, configA);
|
|
149
149
|
// We use `stopTogether: false` here because otherwise tracking will break
|
|
150
150
|
// because the second animation will get stopped before it can update.
|
|
151
151
|
return parallelImpl([aR, aG, aB, aA], {stopTogether: false});
|
|
@@ -59,6 +59,27 @@ const SUPPORTED_STYLES: {[string]: true} = {
|
|
|
59
59
|
scaleY: true,
|
|
60
60
|
translateX: true,
|
|
61
61
|
translateY: true,
|
|
62
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
63
|
+
...(ReactNativeFeatureFlags.useSharedAnimatedBackend()
|
|
64
|
+
? {
|
|
65
|
+
/* dimension */
|
|
66
|
+
height: true,
|
|
67
|
+
maxHeight: true,
|
|
68
|
+
maxWidth: true,
|
|
69
|
+
minHeight: true,
|
|
70
|
+
minWidth: true,
|
|
71
|
+
width: true,
|
|
72
|
+
/* position */
|
|
73
|
+
bottom: true,
|
|
74
|
+
end: true,
|
|
75
|
+
left: true,
|
|
76
|
+
right: true,
|
|
77
|
+
start: true,
|
|
78
|
+
top: true,
|
|
79
|
+
/* flex */
|
|
80
|
+
flex: true,
|
|
81
|
+
}
|
|
82
|
+
: {}),
|
|
62
83
|
};
|
|
63
84
|
|
|
64
85
|
const SUPPORTED_TRANSFORMS: {[string]: true} = {
|
|
@@ -14,10 +14,10 @@ import Image from '../../Image/Image';
|
|
|
14
14
|
import createAnimatedComponent from '../createAnimatedComponent';
|
|
15
15
|
import * as React from 'react';
|
|
16
16
|
|
|
17
|
-
export default
|
|
17
|
+
export default createAnimatedComponent<
|
|
18
18
|
$FlowFixMe,
|
|
19
19
|
React.ElementRef<typeof Image>,
|
|
20
|
-
>(
|
|
20
|
+
>(Image as $FlowFixMe) as AnimatedComponentType<
|
|
21
21
|
React.ElementConfig<typeof Image>,
|
|
22
22
|
React.ElementRef<typeof Image>,
|
|
23
|
-
|
|
23
|
+
>;
|
|
@@ -14,10 +14,10 @@ import Text, {type TextProps} from '../../Text/Text';
|
|
|
14
14
|
import createAnimatedComponent from '../createAnimatedComponent';
|
|
15
15
|
import * as React from 'react';
|
|
16
16
|
|
|
17
|
-
export default
|
|
17
|
+
export default createAnimatedComponent<
|
|
18
18
|
$FlowFixMe,
|
|
19
19
|
React.ElementRef<typeof Text>,
|
|
20
|
-
>(
|
|
20
|
+
>(Text as $FlowFixMe) as AnimatedComponentType<
|
|
21
21
|
TextProps,
|
|
22
22
|
React.ElementRef<typeof Text>,
|
|
23
|
-
|
|
23
|
+
>;
|
|
@@ -65,12 +65,12 @@ type PassThroughProps = Readonly<{
|
|
|
65
65
|
passthroughAnimatedPropExplicitValues?: ViewProps | null,
|
|
66
66
|
}>;
|
|
67
67
|
|
|
68
|
-
type LooseOmit<O
|
|
68
|
+
type LooseOmit<O extends interface {}, K extends keyof $FlowFixMe> = Pick<
|
|
69
69
|
O,
|
|
70
70
|
Exclude<keyof O, K>,
|
|
71
71
|
>;
|
|
72
72
|
|
|
73
|
-
export type AnimatedProps<Props
|
|
73
|
+
export type AnimatedProps<Props extends {...}> = LooseOmit<
|
|
74
74
|
{
|
|
75
75
|
[K in keyof Props]: K extends NonAnimatedProps
|
|
76
76
|
? Props[K]
|
|
@@ -80,7 +80,7 @@ export type AnimatedProps<Props: {...}> = LooseOmit<
|
|
|
80
80
|
> &
|
|
81
81
|
PassThroughProps;
|
|
82
82
|
|
|
83
|
-
export type AnimatedBaseProps<Props
|
|
83
|
+
export type AnimatedBaseProps<Props extends {...}> = LooseOmit<
|
|
84
84
|
{
|
|
85
85
|
[K in keyof Props]: K extends NonAnimatedProps
|
|
86
86
|
? Props[K]
|
|
@@ -90,12 +90,12 @@ export type AnimatedBaseProps<Props: {...}> = LooseOmit<
|
|
|
90
90
|
>;
|
|
91
91
|
|
|
92
92
|
export type AnimatedComponentType<
|
|
93
|
-
Props
|
|
93
|
+
Props extends {...},
|
|
94
94
|
+Instance = unknown,
|
|
95
95
|
> = component(ref?: React.RefSetter<Instance>, ...AnimatedProps<Props>);
|
|
96
96
|
|
|
97
97
|
export default function createAnimatedComponent<
|
|
98
|
-
TInstance
|
|
98
|
+
TInstance extends React.ComponentType<any>,
|
|
99
99
|
>(
|
|
100
100
|
Component: TInstance,
|
|
101
101
|
): AnimatedComponentType<
|
|
@@ -106,8 +106,8 @@ export default function createAnimatedComponent<
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
export function unstable_createAnimatedComponentWithAllowlist<
|
|
109
|
-
TProps
|
|
110
|
-
TInstance
|
|
109
|
+
TProps extends {...},
|
|
110
|
+
TInstance extends React.ComponentType<TProps>,
|
|
111
111
|
>(
|
|
112
112
|
Component: TInstance,
|
|
113
113
|
allowlist: ?AnimatedPropsAllowlist,
|
|
@@ -43,7 +43,7 @@ export default class AnimatedAddition extends AnimatedWithChildren {
|
|
|
43
43
|
return this._a.__getValue() + this._b.__getValue();
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
interpolate<OutputT
|
|
46
|
+
interpolate<OutputT extends number | string>(
|
|
47
47
|
config: InterpolationConfigType<OutputT>,
|
|
48
48
|
): AnimatedInterpolation<OutputT> {
|
|
49
49
|
return new AnimatedInterpolation(this, config);
|
|
@@ -61,12 +61,12 @@ function processColor(
|
|
|
61
61
|
|
|
62
62
|
if (isRgbaValue(color)) {
|
|
63
63
|
// $FlowFixMe[incompatible-type] - Type is verified above
|
|
64
|
-
return
|
|
64
|
+
return color as RgbaValue;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
let normalizedColor: ?ProcessedColorValue = normalizeColor(
|
|
68
68
|
// $FlowFixMe[incompatible-type] - Type is verified above
|
|
69
|
-
|
|
69
|
+
color as ColorValue,
|
|
70
70
|
);
|
|
71
71
|
if (normalizedColor === undefined || normalizedColor === null) {
|
|
72
72
|
return null;
|
|
@@ -118,14 +118,14 @@ export function getRgbaValueAndNativeColor(
|
|
|
118
118
|
}> {
|
|
119
119
|
const processedColor: RgbaValue | NativeColorValue =
|
|
120
120
|
// $FlowFixMe[incompatible-type] - Type is verified above
|
|
121
|
-
processColor(
|
|
121
|
+
processColor(value as ColorValue | RgbaValue) ?? defaultColor;
|
|
122
122
|
if (isRgbaValue(processedColor)) {
|
|
123
123
|
// $FlowFixMe[incompatible-type] - Type is verified above
|
|
124
|
-
return {rgbaValue:
|
|
124
|
+
return {rgbaValue: processedColor as RgbaValue};
|
|
125
125
|
} else {
|
|
126
126
|
return {
|
|
127
127
|
// $FlowFixMe[incompatible-type] - Type is verified above
|
|
128
|
-
nativeColor:
|
|
128
|
+
nativeColor: processedColor as NativeColorValue,
|
|
129
129
|
rgbaValue: defaultColor,
|
|
130
130
|
};
|
|
131
131
|
}
|
|
@@ -147,7 +147,7 @@ export default class AnimatedColor extends AnimatedWithChildren {
|
|
|
147
147
|
valueIn ?? defaultColor;
|
|
148
148
|
if (isRgbaAnimatedValue(value)) {
|
|
149
149
|
// $FlowFixMe[incompatible-type] - Type is verified above
|
|
150
|
-
const rgbaAnimatedValue: RgbaAnimatedValue =
|
|
150
|
+
const rgbaAnimatedValue: RgbaAnimatedValue = value as RgbaAnimatedValue;
|
|
151
151
|
this.r = rgbaAnimatedValue.r;
|
|
152
152
|
this.g = rgbaAnimatedValue.g;
|
|
153
153
|
this.b = rgbaAnimatedValue.b;
|
|
@@ -155,7 +155,7 @@ export default class AnimatedColor extends AnimatedWithChildren {
|
|
|
155
155
|
} else {
|
|
156
156
|
const {rgbaValue: initColor, nativeColor} = getRgbaValueAndNativeColor(
|
|
157
157
|
// $FlowFixMe[incompatible-type] - Type is verified above
|
|
158
|
-
|
|
158
|
+
value as ColorValue | RgbaValue,
|
|
159
159
|
);
|
|
160
160
|
if (nativeColor) {
|
|
161
161
|
this.nativeColor = nativeColor;
|
|
@@ -44,7 +44,7 @@ export default class AnimatedDiffClamp extends AnimatedWithChildren {
|
|
|
44
44
|
super.__makeNative(platformConfig);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
interpolate<OutputT
|
|
47
|
+
interpolate<OutputT extends number | string>(
|
|
48
48
|
config: InterpolationConfigType<OutputT>,
|
|
49
49
|
): AnimatedInterpolation<OutputT> {
|
|
50
50
|
return new AnimatedInterpolation(this, config);
|
|
@@ -59,7 +59,7 @@ export default class AnimatedDivision extends AnimatedWithChildren {
|
|
|
59
59
|
return a / b;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
interpolate<OutputT
|
|
62
|
+
interpolate<OutputT extends number | string>(
|
|
63
63
|
config: InterpolationConfigType<OutputT>,
|
|
64
64
|
): AnimatedInterpolation<OutputT> {
|
|
65
65
|
return new AnimatedInterpolation(this, config);
|
|
@@ -33,7 +33,7 @@ export type InterpolationConfigSupportedOutputType =
|
|
|
33
33
|
| NativeColorValue;
|
|
34
34
|
|
|
35
35
|
export type InterpolationConfigType<
|
|
36
|
-
OutputT
|
|
36
|
+
OutputT extends InterpolationConfigSupportedOutputType,
|
|
37
37
|
> = Readonly<{
|
|
38
38
|
...AnimatedNodeConfig,
|
|
39
39
|
inputRange: ReadonlyArray<number>,
|
|
@@ -51,7 +51,7 @@ export type InterpolationConfigType<
|
|
|
51
51
|
function createNumericInterpolation(
|
|
52
52
|
config: InterpolationConfigType<number>,
|
|
53
53
|
): (input: number) => number {
|
|
54
|
-
const outputRange: ReadonlyArray<number> =
|
|
54
|
+
const outputRange: ReadonlyArray<number> = config.outputRange as any;
|
|
55
55
|
const inputRange = config.inputRange;
|
|
56
56
|
|
|
57
57
|
const easing = config.easing || Easing.linear;
|
|
@@ -73,11 +73,11 @@ function createNumericInterpolation(
|
|
|
73
73
|
return input => {
|
|
74
74
|
invariant(
|
|
75
75
|
typeof input === 'number',
|
|
76
|
-
'Cannot
|
|
76
|
+
'Cannot interpolate an input which is not a number',
|
|
77
77
|
);
|
|
78
78
|
|
|
79
79
|
const range = findRange(input, inputRange);
|
|
80
|
-
return
|
|
80
|
+
return interpolate(
|
|
81
81
|
input,
|
|
82
82
|
inputRange[range],
|
|
83
83
|
inputRange[range + 1],
|
|
@@ -86,7 +86,7 @@ function createNumericInterpolation(
|
|
|
86
86
|
easing,
|
|
87
87
|
extrapolateLeft,
|
|
88
88
|
extrapolateRight,
|
|
89
|
-
)
|
|
89
|
+
) as any;
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
|
|
@@ -205,7 +205,7 @@ function mapStringToNumericComponents(
|
|
|
205
205
|
const components: Array<string | number> = [];
|
|
206
206
|
let lastMatchEnd = 0;
|
|
207
207
|
let match: RegExp$matchResult;
|
|
208
|
-
while ((match =
|
|
208
|
+
while ((match = numericComponentRegex.exec(input) as any) != null) {
|
|
209
209
|
if (match.index > lastMatchEnd) {
|
|
210
210
|
components.push(input.substring(lastMatchEnd, match.index));
|
|
211
211
|
}
|
|
@@ -307,10 +307,9 @@ function findRange(input: number, inputRange: ReadonlyArray<number>) {
|
|
|
307
307
|
return i - 1;
|
|
308
308
|
}
|
|
309
309
|
|
|
310
|
-
function checkValidRanges<
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
) {
|
|
310
|
+
function checkValidRanges<
|
|
311
|
+
OutputT extends InterpolationConfigSupportedOutputType,
|
|
312
|
+
>(inputRange: ReadonlyArray<number>, outputRange: ReadonlyArray<OutputT>) {
|
|
314
313
|
checkInfiniteRange('outputRange', outputRange);
|
|
315
314
|
checkInfiniteRange('inputRange', inputRange);
|
|
316
315
|
checkValidInputRange(inputRange);
|
|
@@ -334,10 +333,9 @@ function checkValidInputRange(arr: ReadonlyArray<number>) {
|
|
|
334
333
|
}
|
|
335
334
|
}
|
|
336
335
|
|
|
337
|
-
function checkInfiniteRange<
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
) {
|
|
336
|
+
function checkInfiniteRange<
|
|
337
|
+
OutputT extends InterpolationConfigSupportedOutputType,
|
|
338
|
+
>(name: string, arr: ReadonlyArray<OutputT>) {
|
|
341
339
|
invariant(arr.length >= 2, name + ' must have at least 2 elements');
|
|
342
340
|
invariant(
|
|
343
341
|
arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity,
|
|
@@ -347,12 +345,12 @@ function checkInfiniteRange<OutputT: InterpolationConfigSupportedOutputType>(
|
|
|
347
345
|
* etc. If you really mean this implicit string conversion, you can do
|
|
348
346
|
* something like String(myThing) */
|
|
349
347
|
// $FlowFixMe[unsafe-addition]
|
|
350
|
-
name + 'cannot be ]-infinity;+infinity[ ' + arr,
|
|
348
|
+
name + ' cannot be ]-infinity;+infinity[ ' + arr,
|
|
351
349
|
);
|
|
352
350
|
}
|
|
353
351
|
|
|
354
352
|
export default class AnimatedInterpolation<
|
|
355
|
-
OutputT
|
|
353
|
+
OutputT extends InterpolationConfigSupportedOutputType,
|
|
356
354
|
> extends AnimatedWithChildren {
|
|
357
355
|
_parent: AnimatedNode;
|
|
358
356
|
_config: InterpolationConfigType<OutputT>;
|
|
@@ -376,13 +374,13 @@ export default class AnimatedInterpolation<
|
|
|
376
374
|
if (!this._interpolation) {
|
|
377
375
|
const config = this._config;
|
|
378
376
|
if (config.outputRange && typeof config.outputRange[0] === 'string') {
|
|
379
|
-
this._interpolation =
|
|
377
|
+
this._interpolation = createStringInterpolation(config as any) as any;
|
|
380
378
|
} else if (typeof config.outputRange[0] === 'object') {
|
|
381
|
-
this._interpolation =
|
|
382
|
-
|
|
383
|
-
)
|
|
379
|
+
this._interpolation = createPlatformColorInterpolation(
|
|
380
|
+
config as any,
|
|
381
|
+
) as any;
|
|
384
382
|
} else {
|
|
385
|
-
this._interpolation =
|
|
383
|
+
this._interpolation = createNumericInterpolation(config as any) as any;
|
|
386
384
|
}
|
|
387
385
|
}
|
|
388
386
|
return this._interpolation;
|
|
@@ -402,7 +400,7 @@ export default class AnimatedInterpolation<
|
|
|
402
400
|
return this._getInterpolation()(parentValue);
|
|
403
401
|
}
|
|
404
402
|
|
|
405
|
-
interpolate<NewOutputT
|
|
403
|
+
interpolate<NewOutputT extends number | string>(
|
|
406
404
|
config: InterpolationConfigType<NewOutputT>,
|
|
407
405
|
): AnimatedInterpolation<NewOutputT> {
|
|
408
406
|
return new AnimatedInterpolation(this, config);
|
|
@@ -428,7 +426,7 @@ export default class AnimatedInterpolation<
|
|
|
428
426
|
let outputType = null;
|
|
429
427
|
if (typeof outputRange[0] === 'string') {
|
|
430
428
|
// $FlowFixMe[incompatible-type]
|
|
431
|
-
outputRange = (
|
|
429
|
+
outputRange = (outputRange as ReadonlyArray<string>).map(value => {
|
|
432
430
|
const processedColor = processColor(value);
|
|
433
431
|
if (typeof processedColor === 'number') {
|
|
434
432
|
outputType = 'color';
|
|
@@ -436,7 +434,7 @@ export default class AnimatedInterpolation<
|
|
|
436
434
|
} else {
|
|
437
435
|
return NativeAnimatedHelper.transformDataType(value);
|
|
438
436
|
}
|
|
439
|
-
})
|
|
437
|
+
}) as any;
|
|
440
438
|
} else if (typeof outputRange[0] === 'object') {
|
|
441
439
|
outputType = 'platform_color';
|
|
442
440
|
}
|
|
@@ -39,7 +39,7 @@ export default class AnimatedModulo extends AnimatedWithChildren {
|
|
|
39
39
|
);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
interpolate<OutputT
|
|
42
|
+
interpolate<OutputT extends number | string>(
|
|
43
43
|
config: InterpolationConfigType<OutputT>,
|
|
44
44
|
): AnimatedInterpolation<OutputT> {
|
|
45
45
|
return new AnimatedInterpolation(this, config);
|
|
@@ -43,7 +43,7 @@ export default class AnimatedMultiplication extends AnimatedWithChildren {
|
|
|
43
43
|
return this._a.__getValue() * this._b.__getValue();
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
interpolate<OutputT
|
|
46
|
+
interpolate<OutputT extends number | string>(
|
|
47
47
|
config: InterpolationConfigType<OutputT>,
|
|
48
48
|
): AnimatedInterpolation<OutputT> {
|
|
49
49
|
return new AnimatedInterpolation(this, config);
|
|
@@ -22,7 +22,7 @@ import AnimatedWithChildren from './AnimatedWithChildren';
|
|
|
22
22
|
export type AnimatedStyleAllowlist = Readonly<{[string]: true}>;
|
|
23
23
|
|
|
24
24
|
type FlatStyle = {[string]: unknown};
|
|
25
|
-
type FlatStyleForWeb<TStyle
|
|
25
|
+
type FlatStyleForWeb<TStyle extends FlatStyle> = [unknown, TStyle];
|
|
26
26
|
|
|
27
27
|
function createAnimatedStyle(
|
|
28
28
|
flatStyle: FlatStyle,
|
|
@@ -154,7 +154,7 @@ export default class AnimatedStyle extends AnimatedWithChildren {
|
|
|
154
154
|
/**
|
|
155
155
|
* See the constructor, where this is shadowed on web platforms.
|
|
156
156
|
*/
|
|
157
|
-
__getValueForStyle<TStyle
|
|
157
|
+
__getValueForStyle<TStyle extends FlatStyle>(
|
|
158
158
|
style: TStyle,
|
|
159
159
|
): FlatStyleForWeb<TStyle> | TStyle {
|
|
160
160
|
return style;
|
|
@@ -43,7 +43,7 @@ export default class AnimatedSubtraction extends AnimatedWithChildren {
|
|
|
43
43
|
return this._a.__getValue() - this._b.__getValue();
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
interpolate<OutputT
|
|
46
|
+
interpolate<OutputT extends number | string>(
|
|
47
47
|
config: InterpolationConfigType<OutputT>,
|
|
48
48
|
): AnimatedInterpolation<OutputT> {
|
|
49
49
|
return new AnimatedInterpolation(this, config);
|
|
@@ -79,7 +79,7 @@ export default class AnimatedTracking extends AnimatedNode {
|
|
|
79
79
|
this._value.animate(
|
|
80
80
|
new this._animationClass({
|
|
81
81
|
...this._animationConfig,
|
|
82
|
-
toValue: (this._animationConfig.toValue
|
|
82
|
+
toValue: (this._animationConfig.toValue as any).__getValue(),
|
|
83
83
|
}),
|
|
84
84
|
this._callback,
|
|
85
85
|
);
|
|
@@ -58,7 +58,7 @@ export function flushValue(rootNode: AnimatedNode): void {
|
|
|
58
58
|
function findAnimatedStyles(node: AnimatedNode) {
|
|
59
59
|
// $FlowFixMe[prop-missing]
|
|
60
60
|
if (typeof node.update === 'function') {
|
|
61
|
-
leaves.add(
|
|
61
|
+
leaves.add(node as any);
|
|
62
62
|
} else {
|
|
63
63
|
node.__getChildren().forEach(findAnimatedStyles);
|
|
64
64
|
}
|
|
@@ -301,7 +301,7 @@ export default class AnimatedValue extends AnimatedWithChildren {
|
|
|
301
301
|
* Interpolates the value before updating the property, e.g. mapping 0-1 to
|
|
302
302
|
* 0-10.
|
|
303
303
|
*/
|
|
304
|
-
interpolate<OutputT
|
|
304
|
+
interpolate<OutputT extends InterpolationConfigSupportedOutputType>(
|
|
305
305
|
config: InterpolationConfigType<OutputT>,
|
|
306
306
|
): AnimatedInterpolation<OutputT> {
|
|
307
307
|
return new AnimatedInterpolation(this, config);
|
|
@@ -148,7 +148,7 @@ typedef void (^RCTLoadSourceForBridgeBlock)(RCTBridge *bridge, RCTSourceLoadBloc
|
|
|
148
148
|
@property (nonatomic, nullable) RCTExtraLazyModuleClassesForBridge extraLazyModuleClassesForBridge;
|
|
149
149
|
|
|
150
150
|
/**
|
|
151
|
-
* The bridge will call this block when a module been called from JS
|
|
151
|
+
* The bridge will call this block when a module has been called from JS
|
|
152
152
|
* cannot be found among registered modules.
|
|
153
153
|
* It should return YES if the module with name 'moduleName' was registered
|
|
154
154
|
* in the implementation, and the system must attempt to look for it again among registered.
|
|
@@ -173,11 +173,11 @@ typedef void (^RCTLoadSourceForBridgeBlock)(RCTBridge *bridge, RCTSourceLoadBloc
|
|
|
173
173
|
|
|
174
174
|
#pragma mark - RCTRootViewFactory
|
|
175
175
|
/**
|
|
176
|
-
* The RCTRootViewFactory is
|
|
176
|
+
* The RCTRootViewFactory is a utility class that encapsulates the logic of creating a new RCTRootView based on the
|
|
177
177
|
* current state of the environment. It allows you to initialize your app root view for old architecture, new
|
|
178
|
-
* architecture and
|
|
178
|
+
* architecture and bridgeless mode.
|
|
179
179
|
*
|
|
180
|
-
* This class is used to
|
|
180
|
+
* This class is used to initialize rootView in RCTAppDelegate, but you can also use it separately.
|
|
181
181
|
*
|
|
182
182
|
* Create a new instance of this class (make sure to retain it) and call the
|
|
183
183
|
* `viewWithModuleName:initialProperties:launchOptions` method to create new RCTRootView.
|
|
@@ -194,7 +194,7 @@ typedef void (^RCTLoadSourceForBridgeBlock)(RCTBridge *bridge, RCTSourceLoadBloc
|
|
|
194
194
|
- (instancetype)initWithConfiguration:(RCTRootViewFactoryConfiguration *)configuration;
|
|
195
195
|
|
|
196
196
|
- (instancetype)initWithTurboModuleDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
|
|
197
|
-
hostDelegate:(id<RCTHostDelegate>)
|
|
197
|
+
hostDelegate:(id<RCTHostDelegate>)hostDelegate
|
|
198
198
|
configuration:(RCTRootViewFactoryConfiguration *)configuration;
|
|
199
199
|
|
|
200
200
|
/**
|
|
@@ -103,12 +103,12 @@
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
- (instancetype)initWithTurboModuleDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
|
|
106
|
-
hostDelegate:(id<RCTHostDelegate>)
|
|
106
|
+
hostDelegate:(id<RCTHostDelegate>)hostDelegate
|
|
107
107
|
configuration:(RCTRootViewFactoryConfiguration *)configuration
|
|
108
108
|
{
|
|
109
109
|
if (self = [super init]) {
|
|
110
110
|
_configuration = configuration;
|
|
111
|
-
_hostDelegate =
|
|
111
|
+
_hostDelegate = hostDelegate;
|
|
112
112
|
_contextContainer = std::make_shared<const facebook::react::ContextContainer>();
|
|
113
113
|
_turboModuleManagerDelegate = turboModuleManagerDelegate;
|
|
114
114
|
}
|
|
@@ -110,7 +110,7 @@ class AppStateImpl {
|
|
|
110
110
|
*
|
|
111
111
|
* See https://reactnative.dev/docs/appstate#addeventlistener
|
|
112
112
|
*/
|
|
113
|
-
addEventListener<K
|
|
113
|
+
addEventListener<K extends AppStateEvent>(
|
|
114
114
|
type: K,
|
|
115
115
|
handler: (...AppStateEventDefinitions[K]) => void,
|
|
116
116
|
): EventSubscription {
|
|
@@ -16,7 +16,7 @@ class JSI_EXPORT RCTBlobCollector : public jsi::HostObject {
|
|
|
16
16
|
RCTBlobCollector(RCTBlobManager *blobManager, const std::string &blobId);
|
|
17
17
|
~RCTBlobCollector();
|
|
18
18
|
|
|
19
|
-
static void install(RCTBlobManager *blobManager);
|
|
19
|
+
static void install(jsi::Runtime &runtime, RCTBlobManager *blobManager);
|
|
20
20
|
|
|
21
21
|
private:
|
|
22
22
|
const std::string blobId_;
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
#import "RCTBlobCollector.h"
|
|
9
9
|
|
|
10
10
|
#import <React/RCTBlobManager.h>
|
|
11
|
-
#import <React/RCTBridge+Private.h>
|
|
12
11
|
|
|
13
12
|
namespace facebook::react {
|
|
14
13
|
|
|
@@ -26,32 +25,21 @@ RCTBlobCollector::~RCTBlobCollector()
|
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
void RCTBlobCollector::install(RCTBlobManager *blobManager)
|
|
28
|
+
void RCTBlobCollector::install(jsi::Runtime &runtime, RCTBlobManager *blobManager)
|
|
30
29
|
{
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
1,
|
|
45
|
-
[blobManager](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) {
|
|
46
|
-
auto blobId = args[0].asString(rt).utf8(rt);
|
|
47
|
-
auto blobCollector = std::make_shared<RCTBlobCollector>(blobManager, blobId);
|
|
48
|
-
auto blobCollectorJsObject = jsi::Object::createFromHostObject(rt, blobCollector);
|
|
49
|
-
blobCollectorJsObject.setExternalMemoryPressure(
|
|
50
|
-
rt, [blobManager lengthOfBlobWithId:[NSString stringWithUTF8String:blobId.c_str()]]);
|
|
51
|
-
return blobCollectorJsObject;
|
|
52
|
-
}));
|
|
53
|
-
}
|
|
54
|
-
queue:RCTJSThread];
|
|
30
|
+
auto provider = jsi::Function::createFromHostFunction(
|
|
31
|
+
runtime,
|
|
32
|
+
jsi::PropNameID::forAscii(runtime, "__blobCollectorProvider"),
|
|
33
|
+
1,
|
|
34
|
+
[blobManager](jsi::Runtime &rt, const jsi::Value & /*thisVal*/, const jsi::Value *args, size_t /*count*/) {
|
|
35
|
+
auto blobId = args[0].asString(rt).utf8(rt);
|
|
36
|
+
auto blobCollector = std::make_shared<RCTBlobCollector>(blobManager, blobId);
|
|
37
|
+
auto blobCollectorJsObject = jsi::Object::createFromHostObject(rt, blobCollector);
|
|
38
|
+
blobCollectorJsObject.setExternalMemoryPressure(
|
|
39
|
+
rt, [blobManager lengthOfBlobWithId:[NSString stringWithUTF8String:blobId.c_str()]]);
|
|
40
|
+
return blobCollectorJsObject;
|
|
41
|
+
});
|
|
42
|
+
runtime.global().setProperty(runtime, "__blobCollectorProvider", std::move(provider));
|
|
55
43
|
}
|
|
56
44
|
|
|
57
45
|
} // namespace facebook::react
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
#import "RCTBlobCollector.h"
|
|
20
20
|
#import "RCTBlobPlugins.h"
|
|
21
21
|
|
|
22
|
+
#import <ReactCommon/RCTTurboModuleWithJSIBindings.h>
|
|
23
|
+
|
|
22
24
|
RCT_MOCK_DEF(RCTBlobManager, dispatch_async);
|
|
23
25
|
#define dispatch_async RCT_MOCK_USE(RCTBlobManager, dispatch_async)
|
|
24
26
|
|
|
@@ -28,7 +30,8 @@ static NSString *const kBlobURIScheme = @"blob";
|
|
|
28
30
|
RCTNetworkingRequestHandler,
|
|
29
31
|
RCTNetworkingResponseHandler,
|
|
30
32
|
RCTWebSocketContentHandler,
|
|
31
|
-
NativeBlobModuleSpec
|
|
33
|
+
NativeBlobModuleSpec,
|
|
34
|
+
RCTTurboModuleWithJSIBindings>
|
|
32
35
|
|
|
33
36
|
@end
|
|
34
37
|
|
|
@@ -39,7 +42,6 @@ static NSString *const kBlobURIScheme = @"blob";
|
|
|
39
42
|
std::mutex _blobsMutex;
|
|
40
43
|
|
|
41
44
|
NSOperationQueue *_queue;
|
|
42
|
-
dispatch_queue_t _processingQueue;
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
RCT_EXPORT_MODULE(BlobModule)
|
|
@@ -52,7 +54,6 @@ RCT_EXPORT_MODULE(BlobModule)
|
|
|
52
54
|
{
|
|
53
55
|
std::lock_guard<std::mutex> lock(_blobsMutex);
|
|
54
56
|
_blobs = [NSMutableDictionary new];
|
|
55
|
-
facebook::react::RCTBlobCollector::install(self);
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
+ (BOOL)requiresMainQueueSetup
|
|
@@ -333,6 +334,13 @@ RCT_EXPORT_METHOD(release : (NSString *)blobId)
|
|
|
333
334
|
return std::make_shared<facebook::react::NativeBlobModuleSpecJSI>(params);
|
|
334
335
|
}
|
|
335
336
|
|
|
337
|
+
#pragma mark - RCTTurboModuleWithJSIBindings
|
|
338
|
+
|
|
339
|
+
- (void)installJSIBindingsWithRuntime:(facebook::jsi::Runtime &)runtime
|
|
340
|
+
callInvoker:(const std::shared_ptr<facebook::react::CallInvoker> &)callInvoker
|
|
341
|
+
{
|
|
342
|
+
facebook::react::RCTBlobCollector::install(runtime, self);
|
|
343
|
+
}
|
|
336
344
|
@end
|
|
337
345
|
|
|
338
346
|
Class RCTBlobManagerCls(void)
|