react-native-tvos 0.85.3-0 → 0.86.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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.d.ts +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +4 -4
- 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/TV/TVViewPropTypes.js +9 -0
- 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 +100 -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 +2 -2
- 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/TVViewConfig.js +1 -0
- 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/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/README.md +13 -1
- 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 +2 -2
- 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/RCTRedBox2AnsiParser.mm +1 -1
- package/React/CoreModules/RCTWebSocketModule.mm +45 -6
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
- package/React/DevSupport/RCTPackagerConnection.mm +13 -11
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +108 -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/ScrollView/RCTScrollViewComponentView.mm +35 -15
- 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/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 +2 -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/FrameTimingsObserver.kt +9 -10
- 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 +41 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +71 -51
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +15 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +16 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +79 -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 +15 -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 +1 -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 +2 -2
- 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 +18 -5
- 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 +32 -24
- 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 +33 -24
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +60 -11
- 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 +85 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +46 -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 +10 -1
- 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 +97 -69
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +21 -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 +10 -0
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +7 -0
- package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
- package/ReactCommon/React-Fabric.podspec +7 -0
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
- 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 +10 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -2
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +5 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -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/featureflags/ReactNativeFeatureFlags.cpp +29 -21
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +35 -25
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +168 -132
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -14
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +28 -20
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +61 -43
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -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 +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +35 -25
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +15 -11
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
- 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/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 +15 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -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 +71 -5
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- 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 +37 -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/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 +11 -11
- 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 +52 -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 +25 -2
- package/scripts/react_native_pods_utils/script_phases.rb +9 -3
- package/scripts/replace-rncore-version.js +20 -0
- 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 +41 -37
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -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/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/types/public/ReactNativeTVTypes.d.ts +9 -0
- 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
|
@@ -258,11 +258,11 @@ function diffProperties(
|
|
|
258
258
|
if (!attributeConfigHasProcess) {
|
|
259
259
|
// functions are converted to booleans as markers that the associated
|
|
260
260
|
// events should be sent from native.
|
|
261
|
-
nextProp =
|
|
261
|
+
nextProp = true as any;
|
|
262
262
|
// If nextProp is not a function, then don't bother changing prevProp
|
|
263
263
|
// since nextProp will win and go into the updatePayload regardless.
|
|
264
264
|
if (typeof prevProp === 'function') {
|
|
265
|
-
prevProp =
|
|
265
|
+
prevProp = true as any;
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
}
|
|
@@ -270,9 +270,9 @@ function diffProperties(
|
|
|
270
270
|
// An explicit value of undefined is treated as a null because it overrides
|
|
271
271
|
// any other preceding value.
|
|
272
272
|
if (typeof nextProp === 'undefined') {
|
|
273
|
-
nextProp =
|
|
273
|
+
nextProp = null as any;
|
|
274
274
|
if (typeof prevProp === 'undefined') {
|
|
275
|
-
prevProp =
|
|
275
|
+
prevProp = null as any;
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
|
|
@@ -313,7 +313,7 @@ function diffProperties(
|
|
|
313
313
|
// case: !Object is the default case
|
|
314
314
|
if (defaultDiffer(prevProp, nextProp)) {
|
|
315
315
|
// a normal leaf has changed
|
|
316
|
-
(updatePayload || (updatePayload =
|
|
316
|
+
(updatePayload || (updatePayload = {} as {[string]: $FlowFixMe}))[
|
|
317
317
|
propKey
|
|
318
318
|
] = nextProp;
|
|
319
319
|
}
|
|
@@ -333,7 +333,7 @@ function diffProperties(
|
|
|
333
333
|
? // $FlowFixMe[incompatible-use] found when upgrading Flow
|
|
334
334
|
attributeConfig.process(nextProp)
|
|
335
335
|
: nextProp;
|
|
336
|
-
(updatePayload || (updatePayload =
|
|
336
|
+
(updatePayload || (updatePayload = {} as {[string]: $FlowFixMe}))[
|
|
337
337
|
propKey
|
|
338
338
|
] = nextValue;
|
|
339
339
|
}
|
|
@@ -347,13 +347,13 @@ function diffProperties(
|
|
|
347
347
|
updatePayload,
|
|
348
348
|
prevProp,
|
|
349
349
|
nextProp,
|
|
350
|
-
|
|
350
|
+
attributeConfig as any as AttributeConfiguration,
|
|
351
351
|
);
|
|
352
352
|
if (removedKeyCount > 0 && updatePayload) {
|
|
353
353
|
restoreDeletedValuesInNestedArray(
|
|
354
354
|
updatePayload,
|
|
355
355
|
nextProp,
|
|
356
|
-
|
|
356
|
+
attributeConfig as any as AttributeConfiguration,
|
|
357
357
|
);
|
|
358
358
|
removedKeys = null;
|
|
359
359
|
}
|
|
@@ -389,11 +389,11 @@ function diffProperties(
|
|
|
389
389
|
) {
|
|
390
390
|
// case: CustomAttributeConfiguration | !Object
|
|
391
391
|
// Flag the leaf property for removal by sending a sentinel.
|
|
392
|
-
(updatePayload || (updatePayload =
|
|
392
|
+
(updatePayload || (updatePayload = {} as {[string]: $FlowFixMe}))[
|
|
393
393
|
propKey
|
|
394
394
|
] = null;
|
|
395
395
|
if (!removedKeys) {
|
|
396
|
-
removedKeys =
|
|
396
|
+
removedKeys = {} as {[string]: boolean};
|
|
397
397
|
}
|
|
398
398
|
if (!removedKeys[propKey]) {
|
|
399
399
|
removedKeys[propKey] = true;
|
|
@@ -406,7 +406,7 @@ function diffProperties(
|
|
|
406
406
|
updatePayload = clearNestedProperty(
|
|
407
407
|
updatePayload,
|
|
408
408
|
prevProp,
|
|
409
|
-
|
|
409
|
+
attributeConfig as any as AttributeConfiguration,
|
|
410
410
|
);
|
|
411
411
|
}
|
|
412
412
|
}
|
|
@@ -429,9 +429,9 @@ function addNestedProperty(
|
|
|
429
429
|
for (const propKey in props) {
|
|
430
430
|
const prop = props[propKey];
|
|
431
431
|
|
|
432
|
-
const attributeConfig =
|
|
432
|
+
const attributeConfig = validAttributes[
|
|
433
433
|
propKey
|
|
434
|
-
]
|
|
434
|
+
] as any as AttributeConfiguration;
|
|
435
435
|
|
|
436
436
|
if (attributeConfig == null) {
|
|
437
437
|
continue;
|
|
@@ -466,7 +466,7 @@ function addNestedProperty(
|
|
|
466
466
|
|
|
467
467
|
if (newValue !== undefined) {
|
|
468
468
|
if (!payload) {
|
|
469
|
-
payload =
|
|
469
|
+
payload = {} as {[string]: $FlowFixMe};
|
|
470
470
|
}
|
|
471
471
|
payload[propKey] = newValue;
|
|
472
472
|
continue;
|
|
@@ -8,9 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {HostInstance} from '../../src/private/types/HostInstance';
|
|
12
|
-
import typeof ReactFabricType from '../Renderer/shims/ReactFabric';
|
|
13
|
-
import typeof ReactNativeType from '../Renderer/shims/ReactNative';
|
|
14
11
|
import type {RootTag} from './RootTag';
|
|
15
12
|
|
|
16
13
|
import {
|
|
@@ -18,159 +15,45 @@ import {
|
|
|
18
15
|
onRecoverableError,
|
|
19
16
|
onUncaughtError,
|
|
20
17
|
} from '../../src/private/renderer/errorhandling/ErrorHandlers';
|
|
18
|
+
import ReactFabric from '../Renderer/shims/ReactFabric';
|
|
21
19
|
import * as React from 'react';
|
|
22
20
|
|
|
23
|
-
let cachedFabricRenderer;
|
|
24
|
-
let cachedPaperRenderer;
|
|
25
|
-
|
|
26
|
-
function getFabricRenderer(): ReactFabricType {
|
|
27
|
-
if (cachedFabricRenderer == null) {
|
|
28
|
-
cachedFabricRenderer = require('../Renderer/shims/ReactFabric').default;
|
|
29
|
-
}
|
|
30
|
-
return cachedFabricRenderer;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function getPaperRenderer(): ReactNativeType {
|
|
34
|
-
if (cachedPaperRenderer == null) {
|
|
35
|
-
cachedPaperRenderer = require('../Renderer/shims/ReactNative').default;
|
|
36
|
-
}
|
|
37
|
-
return cachedPaperRenderer;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const getMethod: (<MethodName: keyof ReactFabricType>(
|
|
41
|
-
() => ReactFabricType,
|
|
42
|
-
MethodName,
|
|
43
|
-
) => ReactFabricType[MethodName]) &
|
|
44
|
-
(<MethodName: keyof ReactNativeType>(
|
|
45
|
-
() => ReactNativeType,
|
|
46
|
-
MethodName,
|
|
47
|
-
) => ReactNativeType[MethodName]) = (getRenderer, methodName) => {
|
|
48
|
-
let cachedImpl;
|
|
49
|
-
|
|
50
|
-
// $FlowExpectedError[incompatible-type]
|
|
51
|
-
return function (arg1, arg2, arg3, arg4, arg5, arg6) {
|
|
52
|
-
if (cachedImpl == null) {
|
|
53
|
-
// $FlowExpectedError[prop-missing]
|
|
54
|
-
cachedImpl = getRenderer()[methodName];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// $FlowExpectedError[extra-arg]
|
|
58
|
-
return cachedImpl(arg1, arg2, arg3, arg4, arg5);
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
function getFabricMethod<MethodName: keyof ReactFabricType>(
|
|
63
|
-
methodName: MethodName,
|
|
64
|
-
): ReactFabricType[MethodName] {
|
|
65
|
-
return getMethod(getFabricRenderer, methodName);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function getPaperMethod<MethodName: keyof ReactNativeType>(
|
|
69
|
-
methodName: MethodName,
|
|
70
|
-
): ReactNativeType[MethodName] {
|
|
71
|
-
return getMethod(getPaperRenderer, methodName);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
let cachedFabricRender;
|
|
75
|
-
let cachedPaperRender;
|
|
76
|
-
|
|
77
21
|
export function renderElement({
|
|
78
22
|
element,
|
|
79
23
|
rootTag,
|
|
80
|
-
useFabric,
|
|
81
|
-
useConcurrentRoot,
|
|
82
24
|
}: {
|
|
83
25
|
element: React.MixedElement,
|
|
84
|
-
rootTag:
|
|
85
|
-
useFabric: boolean,
|
|
86
|
-
useConcurrentRoot: boolean,
|
|
26
|
+
rootTag: RootTag,
|
|
87
27
|
}): void {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
28
|
+
ReactFabric.render(
|
|
29
|
+
element,
|
|
30
|
+
Number(rootTag),
|
|
31
|
+
/* callback */ null,
|
|
32
|
+
/* useConcurrentRoot */ true,
|
|
33
|
+
{
|
|
94
34
|
onCaughtError,
|
|
95
35
|
onUncaughtError,
|
|
96
36
|
onRecoverableError,
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (cachedPaperRender == null) {
|
|
100
|
-
cachedPaperRender = getPaperRenderer().render;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
cachedPaperRender(element, rootTag, undefined, {
|
|
104
|
-
onCaughtError,
|
|
105
|
-
onUncaughtError,
|
|
106
|
-
onRecoverableError,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
37
|
+
},
|
|
38
|
+
);
|
|
109
39
|
}
|
|
110
40
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
} else {
|
|
128
|
-
if (cachedPaperDispatchCommand == null) {
|
|
129
|
-
cachedPaperDispatchCommand = getPaperRenderer().dispatchCommand;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return cachedPaperDispatchCommand(handle, command, args);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export const findHostInstance_DEPRECATED: <TElementType: React.ElementType>(
|
|
137
|
-
// $FlowExpectedError[incompatible-type]
|
|
138
|
-
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
139
|
-
) => ?HostInstance = getPaperMethod('findHostInstance_DEPRECATED');
|
|
140
|
-
|
|
141
|
-
export const findNodeHandle: <TElementType: React.ElementType>(
|
|
142
|
-
// $FlowExpectedError[incompatible-type]
|
|
143
|
-
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
144
|
-
suppressWarning: ?boolean,
|
|
145
|
-
) => ?number = getPaperMethod('findNodeHandle');
|
|
146
|
-
|
|
147
|
-
export const sendAccessibilityEvent: ReactNativeType['sendAccessibilityEvent'] =
|
|
148
|
-
getPaperMethod('sendAccessibilityEvent');
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* This method is used by AppRegistry to unmount a root when using the old
|
|
152
|
-
* React Native renderer (Paper).
|
|
153
|
-
*/
|
|
154
|
-
export const unmountComponentAtNodeAndRemoveContainer: (
|
|
155
|
-
rootTag: RootTag,
|
|
156
|
-
) => void =
|
|
157
|
-
// $FlowExpectedError[incompatible-type]
|
|
158
|
-
getPaperMethod('unmountComponentAtNodeAndRemoveContainer');
|
|
159
|
-
|
|
160
|
-
export const unstable_batchedUpdates: ReactNativeType['unstable_batchedUpdates'] =
|
|
161
|
-
getPaperMethod('unstable_batchedUpdates');
|
|
162
|
-
|
|
163
|
-
export const isChildPublicInstance: ReactNativeType['isChildPublicInstance'] =
|
|
164
|
-
getPaperMethod('isChildPublicInstance');
|
|
165
|
-
|
|
166
|
-
export const getNodeFromInternalInstanceHandle: ReactFabricType['getNodeFromInternalInstanceHandle'] =
|
|
167
|
-
getFabricMethod('getNodeFromInternalInstanceHandle');
|
|
168
|
-
|
|
169
|
-
export const getPublicInstanceFromInternalInstanceHandle: ReactFabricType['getPublicInstanceFromInternalInstanceHandle'] =
|
|
170
|
-
getFabricMethod('getPublicInstanceFromInternalInstanceHandle');
|
|
171
|
-
|
|
172
|
-
export const getPublicInstanceFromRootTag: ReactFabricType['getPublicInstanceFromRootTag'] =
|
|
173
|
-
getFabricMethod('getPublicInstanceFromRootTag');
|
|
41
|
+
// NOTE: these cannot be combined into a single destructuring statement because
|
|
42
|
+
// `flow-api-translator` (used by `yarn build-types` to generate the
|
|
43
|
+
// open-source type definitions) does not support destructuring in variable
|
|
44
|
+
// declarations.
|
|
45
|
+
export const dispatchCommand = ReactFabric.dispatchCommand;
|
|
46
|
+
export const findHostInstance_DEPRECATED =
|
|
47
|
+
ReactFabric.findHostInstance_DEPRECATED;
|
|
48
|
+
export const findNodeHandle = ReactFabric.findNodeHandle;
|
|
49
|
+
export const sendAccessibilityEvent = ReactFabric.sendAccessibilityEvent;
|
|
50
|
+
export const isChildPublicInstance = ReactFabric.isChildPublicInstance;
|
|
51
|
+
export const getNodeFromInternalInstanceHandle =
|
|
52
|
+
ReactFabric.getNodeFromInternalInstanceHandle;
|
|
53
|
+
export const getPublicInstanceFromInternalInstanceHandle =
|
|
54
|
+
ReactFabric.getPublicInstanceFromInternalInstanceHandle;
|
|
55
|
+
export const getPublicInstanceFromRootTag =
|
|
56
|
+
ReactFabric.getPublicInstanceFromRootTag;
|
|
174
57
|
|
|
175
58
|
export function isProfilingRenderer(): boolean {
|
|
176
59
|
return Boolean(__DEV__);
|
|
@@ -8,19 +8,8 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*
|
|
16
|
-
* By default, the setup will be:
|
|
17
|
-
* -> RendererProxy
|
|
18
|
-
* -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)
|
|
19
|
-
*
|
|
20
|
-
* But this will allow a setup like this without duplicating logic:
|
|
21
|
-
* -> RendererProxy (fork)
|
|
22
|
-
* -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)
|
|
23
|
-
* or -> OtherImplementation (which uses Fabric only)
|
|
24
|
-
*/
|
|
25
|
-
|
|
11
|
+
// This module allows app bundles to set up the appropriate Fabric renderer
|
|
12
|
+
// variant (e.g., profiling vs production) before React Native is initialized.
|
|
13
|
+
// The internal implementation (RendererProxy.fb.js) provides the indirection
|
|
14
|
+
// needed to swap the renderer implementation at runtime.
|
|
26
15
|
export * from './RendererImplementation';
|
|
@@ -4,65 +4,63 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @flow
|
|
7
|
+
* @flow strict-local
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
|
|
12
|
-
import type {
|
|
12
|
+
import type {RootTag} from './RootTag';
|
|
13
13
|
|
|
14
|
-
import GlobalPerformanceLogger from '../Utilities/GlobalPerformanceLogger';
|
|
15
|
-
import PerformanceLoggerContext from '../Utilities/PerformanceLoggerContext';
|
|
16
|
-
import warnOnce from '../Utilities/warnOnce';
|
|
17
14
|
import AppContainer from './AppContainer';
|
|
18
15
|
import DisplayMode, {type DisplayModeType} from './DisplayMode';
|
|
19
16
|
import getCachedComponentWithDebugName from './getCachedComponentWithDebugName';
|
|
20
17
|
import * as Renderer from './RendererProxy';
|
|
18
|
+
import {createRootTag} from './RootTag';
|
|
21
19
|
import invariant from 'invariant';
|
|
22
20
|
import * as React from 'react';
|
|
23
21
|
|
|
24
22
|
// require BackHandler so it sets the default handler that exits the app if no listeners respond
|
|
25
23
|
import '../Utilities/BackHandler';
|
|
26
24
|
|
|
27
|
-
type ActivityType = component(
|
|
28
|
-
...{
|
|
29
|
-
mode: 'visible' | 'hidden',
|
|
30
|
-
children: React.Node,
|
|
31
|
-
}
|
|
32
|
-
);
|
|
25
|
+
type ActivityType = component(mode: 'visible' | 'hidden', children: React.Node);
|
|
33
26
|
|
|
34
|
-
export
|
|
35
|
-
RootComponent:
|
|
27
|
+
export type RenderApplicationOptions<Props extends {...}> = {
|
|
28
|
+
RootComponent: component(...Props),
|
|
36
29
|
initialProps: Props,
|
|
37
|
-
rootTag:
|
|
38
|
-
WrapperComponent?: ?React.
|
|
30
|
+
rootTag: number | RootTag,
|
|
31
|
+
WrapperComponent?: ?component(initialProps: Props, children: React.Node),
|
|
39
32
|
rootViewStyle?: ?ViewStyleProp,
|
|
40
|
-
fabric?: boolean,
|
|
41
|
-
scopedPerformanceLogger?: IPerformanceLogger,
|
|
42
33
|
isLogBox?: boolean,
|
|
43
34
|
debugName?: string,
|
|
44
35
|
displayMode?: ?DisplayModeType,
|
|
45
36
|
useOffscreen?: boolean,
|
|
46
|
-
|
|
47
|
-
invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);
|
|
37
|
+
};
|
|
48
38
|
|
|
49
|
-
|
|
39
|
+
export default function renderApplication<Props extends {...}>({
|
|
40
|
+
RootComponent,
|
|
41
|
+
initialProps,
|
|
42
|
+
rootTag,
|
|
43
|
+
WrapperComponent,
|
|
44
|
+
rootViewStyle,
|
|
45
|
+
isLogBox,
|
|
46
|
+
debugName,
|
|
47
|
+
displayMode,
|
|
48
|
+
useOffscreen,
|
|
49
|
+
}: RenderApplicationOptions<Props>) {
|
|
50
|
+
invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);
|
|
50
51
|
|
|
51
52
|
let renderable: React.MixedElement = (
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
<RootComponent {...initialProps} rootTag={rootTag} />
|
|
61
|
-
</AppContainer>
|
|
62
|
-
</PerformanceLoggerContext.Provider>
|
|
53
|
+
<AppContainer
|
|
54
|
+
rootTag={rootTag}
|
|
55
|
+
WrapperComponent={WrapperComponent}
|
|
56
|
+
rootViewStyle={rootViewStyle}
|
|
57
|
+
initialProps={initialProps ?? Object.freeze({})}
|
|
58
|
+
internal_excludeLogBox={isLogBox}>
|
|
59
|
+
<RootComponent {...initialProps} rootTag={rootTag} />
|
|
60
|
+
</AppContainer>
|
|
63
61
|
);
|
|
64
62
|
|
|
65
|
-
if (__DEV__ && debugName) {
|
|
63
|
+
if (__DEV__ && debugName != null) {
|
|
66
64
|
const RootComponentWithMeaningfulName = getCachedComponentWithDebugName(
|
|
67
65
|
`${debugName}(RootComponent)`,
|
|
68
66
|
);
|
|
@@ -73,10 +71,10 @@ export default function renderApplication<Props: Object>(
|
|
|
73
71
|
);
|
|
74
72
|
}
|
|
75
73
|
|
|
76
|
-
if (useOffscreen && displayMode != null) {
|
|
74
|
+
if (useOffscreen === true && displayMode != null) {
|
|
77
75
|
// $FlowFixMe[incompatible-type]
|
|
78
|
-
// $FlowFixMe[prop-missing]
|
|
79
76
|
// $FlowFixMe[missing-export]
|
|
77
|
+
// $FlowFixMe[prop-missing] `unstable_Activity` is not yet in the React types.
|
|
80
78
|
const Activity: ActivityType = React.unstable_Activity;
|
|
81
79
|
|
|
82
80
|
renderable = (
|
|
@@ -87,32 +85,8 @@ export default function renderApplication<Props: Object>(
|
|
|
87
85
|
);
|
|
88
86
|
}
|
|
89
87
|
|
|
90
|
-
// We want to have concurrentRoot always enabled when you're on Fabric.
|
|
91
|
-
const useConcurrentRoot = Boolean(fabric);
|
|
92
|
-
|
|
93
|
-
performanceLogger.startTimespan('renderApplication_React_render');
|
|
94
|
-
performanceLogger.setExtra(
|
|
95
|
-
'usedReactConcurrentRoot',
|
|
96
|
-
useConcurrentRoot ? '1' : '0',
|
|
97
|
-
);
|
|
98
|
-
performanceLogger.setExtra('usedReactFabric', fabric ? '1' : '0');
|
|
99
|
-
performanceLogger.setExtra(
|
|
100
|
-
'usedReactProfiler',
|
|
101
|
-
Renderer.isProfilingRenderer(),
|
|
102
|
-
);
|
|
103
88
|
Renderer.renderElement({
|
|
104
89
|
element: renderable,
|
|
105
|
-
rootTag,
|
|
106
|
-
useFabric: Boolean(fabric),
|
|
107
|
-
useConcurrentRoot,
|
|
90
|
+
rootTag: createRootTag(rootTag),
|
|
108
91
|
});
|
|
109
|
-
|
|
110
|
-
const newArchitecture = !!fabric;
|
|
111
|
-
if (!newArchitecture) {
|
|
112
|
-
warnOnce(
|
|
113
|
-
'[OSS][OldArchDeprecatedWarning]',
|
|
114
|
-
'The app is running using the Legacy Architecture. The Legacy Architecture is deprecated and will be removed in a future version of React Native. Please consider migrating to the New Architecture. For more information, please see https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here',
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
performanceLogger.stopTimespan('renderApplication_React_render');
|
|
118
92
|
}
|
|
@@ -26,11 +26,11 @@ const getNativeComponentAttributes =
|
|
|
26
26
|
*
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
|
-
const requireNativeComponent = <T
|
|
29
|
+
const requireNativeComponent = <T extends {...}>(
|
|
30
30
|
uiViewClassName: string,
|
|
31
31
|
): HostComponent<T> =>
|
|
32
|
-
|
|
32
|
+
createReactNativeComponentClass(uiViewClassName, () =>
|
|
33
33
|
getNativeComponentAttributes(uiViewClassName),
|
|
34
|
-
)
|
|
34
|
+
) as any as HostComponent<T>;
|
|
35
35
|
|
|
36
36
|
export default requireNativeComponent;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import typeof dispatchNativeEvent from '../../src/private/renderer/events/dispatchNativeEvent';
|
|
11
12
|
import typeof CustomEvent from '../../src/private/webapis/dom/events/CustomEvent';
|
|
12
13
|
import typeof BatchedBridge from '../BatchedBridge/BatchedBridge';
|
|
13
14
|
import typeof legacySendAccessibilityEvent from '../Components/AccessibilityInfo/legacySendAccessibilityEvent';
|
|
@@ -133,4 +134,8 @@ module.exports = {
|
|
|
133
134
|
return require('../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')
|
|
134
135
|
.getInternalInstanceHandleFromPublicInstance;
|
|
135
136
|
},
|
|
137
|
+
get dispatchNativeEvent(): dispatchNativeEvent {
|
|
138
|
+
return require('../../src/private/renderer/events/dispatchNativeEvent')
|
|
139
|
+
.default;
|
|
140
|
+
},
|
|
136
141
|
};
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow strict
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<4ab83fd2606d6a4d374ef914f231d9c1>>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import type {
|
|
@@ -138,37 +138,6 @@ export type RenderRootOptions = {
|
|
|
138
138
|
onDefaultTransitionIndicator?: () => void | (() => void),
|
|
139
139
|
};
|
|
140
140
|
|
|
141
|
-
/**
|
|
142
|
-
* Flat ReactNative renderer bundles are too big for Flow to parse efficiently.
|
|
143
|
-
* Provide minimal Flow typing for the high-level RN API and call it a day.
|
|
144
|
-
*/
|
|
145
|
-
export type ReactNativeType = {
|
|
146
|
-
findHostInstance_DEPRECATED<TElementType: React.ElementType>(
|
|
147
|
-
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
148
|
-
): ?PublicInstance,
|
|
149
|
-
findNodeHandle<TElementType: React.ElementType>(
|
|
150
|
-
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
151
|
-
suppressWarning?: boolean,
|
|
152
|
-
): ?number,
|
|
153
|
-
isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
|
|
154
|
-
dispatchCommand(
|
|
155
|
-
handle: PublicInstance,
|
|
156
|
-
command: string,
|
|
157
|
-
args: Array<mixed>,
|
|
158
|
-
): void,
|
|
159
|
-
sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
|
|
160
|
-
render(
|
|
161
|
-
element: React.MixedElement,
|
|
162
|
-
containerTag: number,
|
|
163
|
-
callback: ?() => void,
|
|
164
|
-
options: ?RenderRootOptions,
|
|
165
|
-
): ?React.ElementRef<React.ElementType>,
|
|
166
|
-
unmountComponentAtNode(containerTag: number): void,
|
|
167
|
-
unmountComponentAtNodeAndRemoveContainer(containerTag: number): void,
|
|
168
|
-
+unstable_batchedUpdates: <T>(fn: (T) => void, bookkeeping: T) => void,
|
|
169
|
-
...
|
|
170
|
-
};
|
|
171
|
-
|
|
172
141
|
export opaque type Node = mixed;
|
|
173
142
|
export opaque type InternalInstanceHandle = mixed;
|
|
174
143
|
|
|
@@ -178,6 +147,7 @@ export type ReactFabricType = {
|
|
|
178
147
|
): ?PublicInstance,
|
|
179
148
|
findNodeHandle<TElementType: React.ElementType>(
|
|
180
149
|
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
150
|
+
suppressWarning?: boolean,
|
|
181
151
|
): ?number,
|
|
182
152
|
dispatchCommand(
|
|
183
153
|
handle: PublicInstance,
|
|
@@ -20,7 +20,7 @@ const subscriptions: Array<{
|
|
|
20
20
|
|
|
21
21
|
const Settings = {
|
|
22
22
|
_settings: (NativeSettingsManager &&
|
|
23
|
-
NativeSettingsManager.getConstants().settings
|
|
23
|
+
NativeSettingsManager.getConstants().settings) as any,
|
|
24
24
|
|
|
25
25
|
get(key: string): unknown {
|
|
26
26
|
// $FlowFixMe[object-this-reference]
|
|
@@ -19,7 +19,7 @@ type LocalNativeColorValue = {
|
|
|
19
19
|
export const PlatformColor = (...names: Array<string>): NativeColorValue => {
|
|
20
20
|
/* $FlowExpectedError[incompatible-type]
|
|
21
21
|
* LocalNativeColorValue is the actual type of the opaque NativeColorValue on Android platform */
|
|
22
|
-
return
|
|
22
|
+
return {resource_paths: names} as LocalNativeColorValue;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export const normalizeColorObject = (
|
|
@@ -27,7 +27,7 @@ export const normalizeColorObject = (
|
|
|
27
27
|
): ?ProcessedColorValue => {
|
|
28
28
|
/* $FlowExpectedError[incompatible-type]
|
|
29
29
|
* LocalNativeColorValue is the actual type of the opaque NativeColorValue on Android platform */
|
|
30
|
-
if ('resource_paths' in (color
|
|
30
|
+
if ('resource_paths' in (color as LocalNativeColorValue)) {
|
|
31
31
|
return color;
|
|
32
32
|
}
|
|
33
33
|
return null;
|
|
@@ -24,7 +24,7 @@ type LocalNativeColorValue = {
|
|
|
24
24
|
|
|
25
25
|
export const PlatformColor = (...names: Array<string>): NativeColorValue => {
|
|
26
26
|
// $FlowExpectedError[incompatible-type] LocalNativeColorValue is the iOS LocalNativeColorValue type
|
|
27
|
-
return
|
|
27
|
+
return {semantic: names} as LocalNativeColorValue;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export type DynamicColorIOSTuplePrivate = {
|
|
@@ -37,7 +37,7 @@ export type DynamicColorIOSTuplePrivate = {
|
|
|
37
37
|
export const DynamicColorIOSPrivate = (
|
|
38
38
|
tuple: DynamicColorIOSTuplePrivate,
|
|
39
39
|
): ColorValue => {
|
|
40
|
-
return
|
|
40
|
+
return {
|
|
41
41
|
dynamic: {
|
|
42
42
|
light: tuple.light,
|
|
43
43
|
dark: tuple.dark,
|
|
@@ -46,7 +46,7 @@ export const DynamicColorIOSPrivate = (
|
|
|
46
46
|
},
|
|
47
47
|
/* $FlowExpectedError[incompatible-type]
|
|
48
48
|
* LocalNativeColorValue is the actual type of the opaque NativeColorValue on iOS platform */
|
|
49
|
-
}
|
|
49
|
+
} as LocalNativeColorValue;
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
const _normalizeColorObject = (
|
|
@@ -118,7 +118,7 @@ export type DangerouslyImpreciseStyleProp =
|
|
|
118
118
|
* This will correctly give you the type 'absolute' | 'relative'
|
|
119
119
|
*/
|
|
120
120
|
export type TypeForStyleKey<
|
|
121
|
-
+key
|
|
121
|
+
+key extends keyof ____DangerouslyImpreciseStyle_Internal,
|
|
122
122
|
> = ____DangerouslyImpreciseStyle_Internal[key];
|
|
123
123
|
|
|
124
124
|
/**
|
|
@@ -34,7 +34,7 @@ export type {
|
|
|
34
34
|
|
|
35
35
|
export type StyleSheetProperties = {
|
|
36
36
|
hairlineWidth: number,
|
|
37
|
-
flatten<T
|
|
37
|
+
flatten<T extends string>(style: T): T,
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
/**
|
|
@@ -119,7 +119,7 @@ export type DangerouslyImpreciseStyleProp =
|
|
|
119
119
|
* This will correctly give you the type 'absolute' | 'relative'
|
|
120
120
|
*/
|
|
121
121
|
export type TypeForStyleKey<
|
|
122
|
-
+key
|
|
122
|
+
+key extends keyof ____DangerouslyImpreciseStyle_Internal,
|
|
123
123
|
> = ____DangerouslyImpreciseStyle_Internal[key];
|
|
124
124
|
|
|
125
125
|
/**
|
|
@@ -179,7 +179,7 @@ export default {
|
|
|
179
179
|
* An identity function for creating style sheets.
|
|
180
180
|
*/
|
|
181
181
|
// $FlowFixMe[unsupported-variance-annotation]
|
|
182
|
-
create<+S
|
|
182
|
+
create<+S extends ____Styles_Internal>(obj: S): Readonly<S> {
|
|
183
183
|
// TODO: This should return S as the return type. But first,
|
|
184
184
|
// we need to codemod all the callsites that are typing this
|
|
185
185
|
// return value as a number (even though it was opaque).
|
|
@@ -95,6 +95,6 @@ declare export const setStyleAttributePreprocessor: (
|
|
|
95
95
|
* An identity function for creating style sheets.
|
|
96
96
|
*/
|
|
97
97
|
// $FlowFixMe[unsupported-variance-annotation]
|
|
98
|
-
declare export const create: <+S
|
|
98
|
+
declare export const create: <+S extends ____Styles_Internal>(
|
|
99
99
|
obj: S & ____Styles_Internal,
|
|
100
100
|
) => Readonly<S>;
|