react-native-tvos 0.85.3-1 → 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.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 +100 -95
- 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/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/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/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 +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 +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 +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 +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 +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 +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 +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 +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/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
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
#
|
|
3
|
+
# This source code is licensed under the MIT license found in the
|
|
4
|
+
# LICENSE file in the root directory of this source tree.
|
|
5
|
+
|
|
6
|
+
# pyre-strict
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import os
|
|
11
|
+
import unittest
|
|
12
|
+
|
|
13
|
+
from rewrite_feature_flag_defaults import cxx_literal, rewrite
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def _load_header() -> bytes:
|
|
17
|
+
with open(os.environ["HEADER_PATH"], "rb") as f:
|
|
18
|
+
return f.read()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class RewriteFeatureFlagDefaultsTest(unittest.TestCase):
|
|
22
|
+
def setUp(self) -> None:
|
|
23
|
+
self.source = _load_header()
|
|
24
|
+
|
|
25
|
+
def test_empty_overrides_is_passthrough(self) -> None:
|
|
26
|
+
self.assertEqual(rewrite(self.source, {}), self.source)
|
|
27
|
+
|
|
28
|
+
def test_override_bool_to_true(self) -> None:
|
|
29
|
+
result = rewrite(self.source, {"commonTestFlag": True})
|
|
30
|
+
start, end = self._method_body_range(result, "commonTestFlag")
|
|
31
|
+
self.assertIn(b"return true;", result[start:end])
|
|
32
|
+
|
|
33
|
+
def test_override_bool_to_false(self) -> None:
|
|
34
|
+
result = rewrite(self.source, {"commonTestFlag": False})
|
|
35
|
+
start, end = self._method_body_range(result, "commonTestFlag")
|
|
36
|
+
self.assertIn(b"return false;", result[start:end])
|
|
37
|
+
|
|
38
|
+
def test_cxx_literal_int_produces_double(self) -> None:
|
|
39
|
+
self.assertEqual(cxx_literal(42), "42.0")
|
|
40
|
+
|
|
41
|
+
def test_cxx_literal_float(self) -> None:
|
|
42
|
+
self.assertEqual(cxx_literal(3.14), "3.14")
|
|
43
|
+
|
|
44
|
+
def test_unmatched_flag_raises(self) -> None:
|
|
45
|
+
with self.assertRaises(ValueError):
|
|
46
|
+
rewrite(self.source, {"bogusFlag": True})
|
|
47
|
+
|
|
48
|
+
def test_only_target_method_body_changes(self) -> None:
|
|
49
|
+
result = rewrite(self.source, {"commonTestFlag": True})
|
|
50
|
+
src_start, src_end = self._method_body_range(self.source, "commonTestFlag")
|
|
51
|
+
res_start, res_end = self._method_body_range(result, "commonTestFlag")
|
|
52
|
+
self.assertEqual(self.source[:src_start], result[:res_start])
|
|
53
|
+
self.assertEqual(self.source[src_end:], result[res_end:])
|
|
54
|
+
|
|
55
|
+
def _method_body_range(self, source: bytes, name: str) -> tuple[int, int]:
|
|
56
|
+
idx = source.find(name.encode())
|
|
57
|
+
self.assertNotEqual(idx, -1, f"{name} not found in output")
|
|
58
|
+
open_brace = source.find(b"{", idx)
|
|
59
|
+
close_brace = source.find(b"}", open_brace)
|
|
60
|
+
return (open_brace, close_brace + 1)
|
package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h
CHANGED
|
@@ -34,9 +34,7 @@ class JSI_EXPORT ObjCInteropTurboModule : public ObjCTurboModule {
|
|
|
34
34
|
jsi::Value create(jsi::Runtime &runtime, const jsi::PropNameID &propName) override;
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* Purpose: Converts native module method returns from Objective C values to JavaScript values.
|
|
37
|
+
* Converts native module method returns from Objective C values to JavaScript values.
|
|
40
38
|
*
|
|
41
39
|
* ObjCTurboModule converts returns by returnType. But, Legacy native modules convert returns by the Objective C type:
|
|
42
40
|
* React Native cannot infer a method's returnType from the RCT_EXPORT_METHOD annotations.
|
|
@@ -48,9 +46,7 @@ class JSI_EXPORT ObjCInteropTurboModule : public ObjCTurboModule {
|
|
|
48
46
|
id result) override;
|
|
49
47
|
|
|
50
48
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* Purpose: Get a native module method's argument's type, given the method name, and argument index.
|
|
49
|
+
* Get a native module method's argument's type, given the method name, and argument index.
|
|
54
50
|
*
|
|
55
51
|
* This override is meant to serve as a performance optimization.
|
|
56
52
|
*
|
|
@@ -63,9 +59,7 @@ class JSI_EXPORT ObjCInteropTurboModule : public ObjCTurboModule {
|
|
|
63
59
|
NSString *getArgumentTypeName(jsi::Runtime &runtime, NSString *methodName, int argIndex) override;
|
|
64
60
|
|
|
65
61
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* Purpose: Convert arguments from JavaScript values to Objective C values. Assign the Objective C argument to the
|
|
62
|
+
* Convert arguments from JavaScript values to Objective C values. Assign the Objective C argument to the
|
|
69
63
|
* method invocation.
|
|
70
64
|
*
|
|
71
65
|
* ObjCTurboModule tries to minimize reliance on RCTConvert for argument conversion. Why: RCTConvert relies on the
|
|
@@ -156,7 +156,6 @@ convertJSIFunctionToCallback(jsi::Runtime &rt, jsi::Function &&function, const s
|
|
|
156
156
|
return ^(NSArray *args) {
|
|
157
157
|
if (!callback) {
|
|
158
158
|
LOG(FATAL) << "Callback arg cannot be called more than once";
|
|
159
|
-
return;
|
|
160
159
|
}
|
|
161
160
|
|
|
162
161
|
callback->call([args](jsi::Runtime &rt, jsi::Function &jsFunction) {
|
|
@@ -23,6 +23,7 @@ target_link_libraries(react_nativemodule_defaults
|
|
|
23
23
|
react_nativemodule_idlecallbacks
|
|
24
24
|
react_nativemodule_intersectionobserver
|
|
25
25
|
react_nativemodule_mutationobserver
|
|
26
|
+
react_nativemodule_viewtransition
|
|
26
27
|
react_nativemodule_webperformance
|
|
27
28
|
react_renderer_animated
|
|
28
29
|
)
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
#include <react/nativemodule/intersectionobserver/NativeIntersectionObserver.h>
|
|
14
14
|
#include <react/nativemodule/microtasks/NativeMicrotasks.h>
|
|
15
15
|
#include <react/nativemodule/mutationobserver/NativeMutationObserver.h>
|
|
16
|
+
#include <react/nativemodule/viewtransition/NativeViewTransition.h>
|
|
16
17
|
#include <react/nativemodule/webperformance/NativePerformance.h>
|
|
17
18
|
#include <react/renderer/animated/AnimatedModule.h>
|
|
18
19
|
|
|
@@ -57,6 +58,12 @@ namespace facebook::react {
|
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
|
|
61
|
+
if (ReactNativeFeatureFlags::viewTransitionEnabled()) {
|
|
62
|
+
if (name == NativeViewTransition::kModuleName) {
|
|
63
|
+
return std::make_shared<NativeViewTransition>(jsInvoker);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
60
67
|
if (ReactNativeFeatureFlags::cxxNativeAnimatedEnabled() &&
|
|
61
68
|
ReactNativeFeatureFlags::useSharedAnimatedBackend() &&
|
|
62
69
|
name == AnimatedModule::kModuleName) {
|
|
@@ -54,6 +54,7 @@ Pod::Spec.new do |s|
|
|
|
54
54
|
s.dependency "React-idlecallbacksnativemodule"
|
|
55
55
|
s.dependency "React-intersectionobservernativemodule"
|
|
56
56
|
s.dependency "React-mutationobservernativemodule"
|
|
57
|
+
s.dependency "React-viewtransitionnativemodule"
|
|
57
58
|
s.dependency "React-webperformancenativemodule"
|
|
58
59
|
s.dependency "React-Fabric/animated"
|
|
59
60
|
add_dependency(s, "React-RCTFBReactNativeSpec")
|
package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp
CHANGED
|
@@ -46,8 +46,8 @@ void NativeFantomTestSpecificMethods::registerForcedCloneCommitHook(
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
void NativeFantomTestSpecificMethods::takeFunctionAndNoop(
|
|
49
|
-
jsi::Runtime& runtime
|
|
50
|
-
jsi::Function
|
|
49
|
+
jsi::Runtime& /* runtime */,
|
|
50
|
+
jsi::Function /* callback */) {}
|
|
51
51
|
|
|
52
52
|
void NativeFantomTestSpecificMethods::setRootNodeSize(
|
|
53
53
|
jsi::Runtime& runtime,
|
|
@@ -4,7 +4,7 @@
|
|
|
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
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<80e1d4551c51800c138f16228cfae9f6>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -104,16 +104,6 @@ bool NativeReactNativeFeatureFlags::enableAccumulatedUpdatesInRawPropsAndroid(
|
|
|
104
104
|
return ReactNativeFeatureFlags::enableAccumulatedUpdatesInRawPropsAndroid();
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
bool NativeReactNativeFeatureFlags::enableAndroidAntialiasedBorderRadiusClipping(
|
|
108
|
-
jsi::Runtime& /*runtime*/) {
|
|
109
|
-
return ReactNativeFeatureFlags::enableAndroidAntialiasedBorderRadiusClipping();
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
bool NativeReactNativeFeatureFlags::enableAndroidLinearText(
|
|
113
|
-
jsi::Runtime& /*runtime*/) {
|
|
114
|
-
return ReactNativeFeatureFlags::enableAndroidLinearText();
|
|
115
|
-
}
|
|
116
|
-
|
|
117
107
|
bool NativeReactNativeFeatureFlags::enableAndroidTextMeasurementOptimizations(
|
|
118
108
|
jsi::Runtime& /*runtime*/) {
|
|
119
109
|
return ReactNativeFeatureFlags::enableAndroidTextMeasurementOptimizations();
|
|
@@ -139,6 +129,11 @@ bool NativeReactNativeFeatureFlags::enableDestroyShadowTreeRevisionAsync(
|
|
|
139
129
|
return ReactNativeFeatureFlags::enableDestroyShadowTreeRevisionAsync();
|
|
140
130
|
}
|
|
141
131
|
|
|
132
|
+
bool NativeReactNativeFeatureFlags::enableDifferentiatorMutationVectorPreallocation(
|
|
133
|
+
jsi::Runtime& /*runtime*/) {
|
|
134
|
+
return ReactNativeFeatureFlags::enableDifferentiatorMutationVectorPreallocation();
|
|
135
|
+
}
|
|
136
|
+
|
|
142
137
|
bool NativeReactNativeFeatureFlags::enableDoubleMeasurementFixAndroid(
|
|
143
138
|
jsi::Runtime& /*runtime*/) {
|
|
144
139
|
return ReactNativeFeatureFlags::enableDoubleMeasurementFixAndroid();
|
|
@@ -194,16 +189,6 @@ bool NativeReactNativeFeatureFlags::enableImagePrefetchingAndroid(
|
|
|
194
189
|
return ReactNativeFeatureFlags::enableImagePrefetchingAndroid();
|
|
195
190
|
}
|
|
196
191
|
|
|
197
|
-
bool NativeReactNativeFeatureFlags::enableImagePrefetchingJNIBatchingAndroid(
|
|
198
|
-
jsi::Runtime& /*runtime*/) {
|
|
199
|
-
return ReactNativeFeatureFlags::enableImagePrefetchingJNIBatchingAndroid();
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
bool NativeReactNativeFeatureFlags::enableImagePrefetchingOnUiThreadAndroid(
|
|
203
|
-
jsi::Runtime& /*runtime*/) {
|
|
204
|
-
return ReactNativeFeatureFlags::enableImagePrefetchingOnUiThreadAndroid();
|
|
205
|
-
}
|
|
206
|
-
|
|
207
192
|
bool NativeReactNativeFeatureFlags::enableImmediateUpdateModeForContentOffsetChanges(
|
|
208
193
|
jsi::Runtime& /*runtime*/) {
|
|
209
194
|
return ReactNativeFeatureFlags::enableImmediateUpdateModeForContentOffsetChanges();
|
|
@@ -259,6 +244,11 @@ bool NativeReactNativeFeatureFlags::enableNativeCSSParsing(
|
|
|
259
244
|
return ReactNativeFeatureFlags::enableNativeCSSParsing();
|
|
260
245
|
}
|
|
261
246
|
|
|
247
|
+
bool NativeReactNativeFeatureFlags::enableNativeViewPropTransformations(
|
|
248
|
+
jsi::Runtime& /*runtime*/) {
|
|
249
|
+
return ReactNativeFeatureFlags::enableNativeViewPropTransformations();
|
|
250
|
+
}
|
|
251
|
+
|
|
262
252
|
bool NativeReactNativeFeatureFlags::enableNetworkEventReporting(
|
|
263
253
|
jsi::Runtime& /*runtime*/) {
|
|
264
254
|
return ReactNativeFeatureFlags::enableNetworkEventReporting();
|
|
@@ -274,6 +264,11 @@ bool NativeReactNativeFeatureFlags::enablePropsUpdateReconciliationAndroid(
|
|
|
274
264
|
return ReactNativeFeatureFlags::enablePropsUpdateReconciliationAndroid();
|
|
275
265
|
}
|
|
276
266
|
|
|
267
|
+
bool NativeReactNativeFeatureFlags::enableSchedulerDelegateInvalidation(
|
|
268
|
+
jsi::Runtime& /*runtime*/) {
|
|
269
|
+
return ReactNativeFeatureFlags::enableSchedulerDelegateInvalidation();
|
|
270
|
+
}
|
|
271
|
+
|
|
277
272
|
bool NativeReactNativeFeatureFlags::enableSwiftUIBasedFilters(
|
|
278
273
|
jsi::Runtime& /*runtime*/) {
|
|
279
274
|
return ReactNativeFeatureFlags::enableSwiftUIBasedFilters();
|
|
@@ -319,6 +314,11 @@ bool NativeReactNativeFeatureFlags::enableVirtualViewDebugFeatures(
|
|
|
319
314
|
return ReactNativeFeatureFlags::enableVirtualViewDebugFeatures();
|
|
320
315
|
}
|
|
321
316
|
|
|
317
|
+
bool NativeReactNativeFeatureFlags::fixDifferentiatorParentTagForUnflattenCase(
|
|
318
|
+
jsi::Runtime& /*runtime*/) {
|
|
319
|
+
return ReactNativeFeatureFlags::fixDifferentiatorParentTagForUnflattenCase();
|
|
320
|
+
}
|
|
321
|
+
|
|
322
322
|
bool NativeReactNativeFeatureFlags::fixFindShadowNodeByTagRaceCondition(
|
|
323
323
|
jsi::Runtime& /*runtime*/) {
|
|
324
324
|
return ReactNativeFeatureFlags::fixFindShadowNodeByTagRaceCondition();
|
|
@@ -329,9 +329,9 @@ bool NativeReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndR
|
|
|
329
329
|
return ReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
|
330
330
|
}
|
|
331
331
|
|
|
332
|
-
bool NativeReactNativeFeatureFlags::
|
|
332
|
+
bool NativeReactNativeFeatureFlags::fixYogaFlexBasisFitContentInMainAxis(
|
|
333
333
|
jsi::Runtime& /*runtime*/) {
|
|
334
|
-
return ReactNativeFeatureFlags::
|
|
334
|
+
return ReactNativeFeatureFlags::fixYogaFlexBasisFitContentInMainAxis();
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
bool NativeReactNativeFeatureFlags::fuseboxAssertSingleHostState(
|
|
@@ -414,9 +414,9 @@ bool NativeReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause(
|
|
|
414
414
|
return ReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause();
|
|
415
415
|
}
|
|
416
416
|
|
|
417
|
-
bool NativeReactNativeFeatureFlags::
|
|
417
|
+
bool NativeReactNativeFeatureFlags::syncAndroidClipBoundsWithOverflow(
|
|
418
418
|
jsi::Runtime& /*runtime*/) {
|
|
419
|
-
return ReactNativeFeatureFlags::
|
|
419
|
+
return ReactNativeFeatureFlags::syncAndroidClipBoundsWithOverflow();
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
bool NativeReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid(
|
|
@@ -444,6 +444,11 @@ bool NativeReactNativeFeatureFlags::useFabricInterop(
|
|
|
444
444
|
return ReactNativeFeatureFlags::useFabricInterop();
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
+
bool NativeReactNativeFeatureFlags::useLISAlgorithmInDifferentiator(
|
|
448
|
+
jsi::Runtime& /*runtime*/) {
|
|
449
|
+
return ReactNativeFeatureFlags::useLISAlgorithmInDifferentiator();
|
|
450
|
+
}
|
|
451
|
+
|
|
447
452
|
bool NativeReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode(
|
|
448
453
|
jsi::Runtime& /*runtime*/) {
|
|
449
454
|
return ReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode();
|
|
@@ -454,6 +459,11 @@ bool NativeReactNativeFeatureFlags::useNestedScrollViewAndroid(
|
|
|
454
459
|
return ReactNativeFeatureFlags::useNestedScrollViewAndroid();
|
|
455
460
|
}
|
|
456
461
|
|
|
462
|
+
bool NativeReactNativeFeatureFlags::useOptimizedViewRegistryOnAndroid(
|
|
463
|
+
jsi::Runtime& /*runtime*/) {
|
|
464
|
+
return ReactNativeFeatureFlags::useOptimizedViewRegistryOnAndroid();
|
|
465
|
+
}
|
|
466
|
+
|
|
457
467
|
bool NativeReactNativeFeatureFlags::useSharedAnimatedBackend(
|
|
458
468
|
jsi::Runtime& /*runtime*/) {
|
|
459
469
|
return ReactNativeFeatureFlags::useSharedAnimatedBackend();
|
|
@@ -4,7 +4,7 @@
|
|
|
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
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<1df283aec4b56f36271a187341e7103d>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -60,10 +60,6 @@ class NativeReactNativeFeatureFlags
|
|
|
60
60
|
|
|
61
61
|
bool enableAccumulatedUpdatesInRawPropsAndroid(jsi::Runtime& runtime);
|
|
62
62
|
|
|
63
|
-
bool enableAndroidAntialiasedBorderRadiusClipping(jsi::Runtime& runtime);
|
|
64
|
-
|
|
65
|
-
bool enableAndroidLinearText(jsi::Runtime& runtime);
|
|
66
|
-
|
|
67
63
|
bool enableAndroidTextMeasurementOptimizations(jsi::Runtime& runtime);
|
|
68
64
|
|
|
69
65
|
bool enableBridgelessArchitecture(jsi::Runtime& runtime);
|
|
@@ -74,6 +70,8 @@ class NativeReactNativeFeatureFlags
|
|
|
74
70
|
|
|
75
71
|
bool enableDestroyShadowTreeRevisionAsync(jsi::Runtime& runtime);
|
|
76
72
|
|
|
73
|
+
bool enableDifferentiatorMutationVectorPreallocation(jsi::Runtime& runtime);
|
|
74
|
+
|
|
77
75
|
bool enableDoubleMeasurementFixAndroid(jsi::Runtime& runtime);
|
|
78
76
|
|
|
79
77
|
bool enableEagerMainQueueModulesOnIOS(jsi::Runtime& runtime);
|
|
@@ -96,10 +94,6 @@ class NativeReactNativeFeatureFlags
|
|
|
96
94
|
|
|
97
95
|
bool enableImagePrefetchingAndroid(jsi::Runtime& runtime);
|
|
98
96
|
|
|
99
|
-
bool enableImagePrefetchingJNIBatchingAndroid(jsi::Runtime& runtime);
|
|
100
|
-
|
|
101
|
-
bool enableImagePrefetchingOnUiThreadAndroid(jsi::Runtime& runtime);
|
|
102
|
-
|
|
103
97
|
bool enableImmediateUpdateModeForContentOffsetChanges(jsi::Runtime& runtime);
|
|
104
98
|
|
|
105
99
|
bool enableImperativeFocus(jsi::Runtime& runtime);
|
|
@@ -122,12 +116,16 @@ class NativeReactNativeFeatureFlags
|
|
|
122
116
|
|
|
123
117
|
bool enableNativeCSSParsing(jsi::Runtime& runtime);
|
|
124
118
|
|
|
119
|
+
bool enableNativeViewPropTransformations(jsi::Runtime& runtime);
|
|
120
|
+
|
|
125
121
|
bool enableNetworkEventReporting(jsi::Runtime& runtime);
|
|
126
122
|
|
|
127
123
|
bool enablePreparedTextLayout(jsi::Runtime& runtime);
|
|
128
124
|
|
|
129
125
|
bool enablePropsUpdateReconciliationAndroid(jsi::Runtime& runtime);
|
|
130
126
|
|
|
127
|
+
bool enableSchedulerDelegateInvalidation(jsi::Runtime& runtime);
|
|
128
|
+
|
|
131
129
|
bool enableSwiftUIBasedFilters(jsi::Runtime& runtime);
|
|
132
130
|
|
|
133
131
|
bool enableViewCulling(jsi::Runtime& runtime);
|
|
@@ -146,11 +144,13 @@ class NativeReactNativeFeatureFlags
|
|
|
146
144
|
|
|
147
145
|
bool enableVirtualViewDebugFeatures(jsi::Runtime& runtime);
|
|
148
146
|
|
|
147
|
+
bool fixDifferentiatorParentTagForUnflattenCase(jsi::Runtime& runtime);
|
|
148
|
+
|
|
149
149
|
bool fixFindShadowNodeByTagRaceCondition(jsi::Runtime& runtime);
|
|
150
150
|
|
|
151
151
|
bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime& runtime);
|
|
152
152
|
|
|
153
|
-
bool
|
|
153
|
+
bool fixYogaFlexBasisFitContentInMainAxis(jsi::Runtime& runtime);
|
|
154
154
|
|
|
155
155
|
bool fuseboxAssertSingleHostState(jsi::Runtime& runtime);
|
|
156
156
|
|
|
@@ -184,7 +184,7 @@ class NativeReactNativeFeatureFlags
|
|
|
184
184
|
|
|
185
185
|
bool skipActivityIdentityAssertionOnHostPause(jsi::Runtime& runtime);
|
|
186
186
|
|
|
187
|
-
bool
|
|
187
|
+
bool syncAndroidClipBoundsWithOverflow(jsi::Runtime& runtime);
|
|
188
188
|
|
|
189
189
|
bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime& runtime);
|
|
190
190
|
|
|
@@ -196,10 +196,14 @@ class NativeReactNativeFeatureFlags
|
|
|
196
196
|
|
|
197
197
|
bool useFabricInterop(jsi::Runtime& runtime);
|
|
198
198
|
|
|
199
|
+
bool useLISAlgorithmInDifferentiator(jsi::Runtime& runtime);
|
|
200
|
+
|
|
199
201
|
bool useNativeViewConfigsInBridgelessMode(jsi::Runtime& runtime);
|
|
200
202
|
|
|
201
203
|
bool useNestedScrollViewAndroid(jsi::Runtime& runtime);
|
|
202
204
|
|
|
205
|
+
bool useOptimizedViewRegistryOnAndroid(jsi::Runtime& runtime);
|
|
206
|
+
|
|
203
207
|
bool useSharedAnimatedBackend(jsi::Runtime& runtime);
|
|
204
208
|
|
|
205
209
|
bool useTraitHiddenOnAndroid(jsi::Runtime& runtime);
|
|
@@ -116,8 +116,9 @@ void NativeMutationObserver::onMutations(std::vector<MutationRecord>& records) {
|
|
|
116
116
|
pendingRecords_.emplace_back(
|
|
117
117
|
NativeMutationRecord{
|
|
118
118
|
record.mutationObserverId,
|
|
119
|
-
//
|
|
120
|
-
//
|
|
119
|
+
// It's safe to call into JS here because we only check mutations
|
|
120
|
+
// synchronously when committing from React (so we're in a JS
|
|
121
|
+
// task already).
|
|
121
122
|
getPublicInstanceFromShadowNode(*record.targetShadowNode),
|
|
122
123
|
getPublicInstancesFromShadowNodes(record.addedShadowNodes),
|
|
123
124
|
getPublicInstancesFromShadowNodes(record.removedShadowNodes)});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
#
|
|
3
|
+
# This source code is licensed under the MIT license found in the
|
|
4
|
+
# LICENSE file in the root directory of this source tree.
|
|
5
|
+
|
|
6
|
+
cmake_minimum_required(VERSION 3.13)
|
|
7
|
+
set(CMAKE_VERBOSE_MAKEFILE on)
|
|
8
|
+
|
|
9
|
+
include(${REACT_COMMON_DIR}/cmake-utils/react-native-flags.cmake)
|
|
10
|
+
|
|
11
|
+
file(GLOB react_nativemodule_viewtransition_SRC CONFIGURE_DEPENDS *.cpp)
|
|
12
|
+
add_library(react_nativemodule_viewtransition OBJECT ${react_nativemodule_viewtransition_SRC})
|
|
13
|
+
|
|
14
|
+
target_include_directories(react_nativemodule_viewtransition PUBLIC ${REACT_COMMON_DIR})
|
|
15
|
+
|
|
16
|
+
target_link_libraries(react_nativemodule_viewtransition
|
|
17
|
+
react_codegen_rncore
|
|
18
|
+
react_cxxreact
|
|
19
|
+
react_renderer_bridging
|
|
20
|
+
react_renderer_core
|
|
21
|
+
react_renderer_uimanager
|
|
22
|
+
)
|
|
23
|
+
target_compile_reactnative_options(react_nativemodule_viewtransition PRIVATE)
|
|
24
|
+
target_compile_options(react_nativemodule_viewtransition PRIVATE -Wpedantic)
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "NativeViewTransition.h"
|
|
9
|
+
|
|
10
|
+
#include <react/renderer/uimanager/UIManagerBinding.h>
|
|
11
|
+
|
|
12
|
+
#ifdef RN_DISABLE_OSS_PLUGIN_HEADER
|
|
13
|
+
#include "Plugins.h"
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
std::shared_ptr<facebook::react::TurboModule>
|
|
17
|
+
NativeViewTransitionModuleProvider(
|
|
18
|
+
std::shared_ptr<facebook::react::CallInvoker> jsInvoker) {
|
|
19
|
+
return std::make_shared<facebook::react::NativeViewTransition>(
|
|
20
|
+
std::move(jsInvoker));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
namespace facebook::react {
|
|
24
|
+
|
|
25
|
+
NativeViewTransition::NativeViewTransition(
|
|
26
|
+
std::shared_ptr<CallInvoker> jsInvoker)
|
|
27
|
+
: NativeViewTransitionCxxSpec(std::move(jsInvoker)) {}
|
|
28
|
+
|
|
29
|
+
std::optional<jsi::Object> NativeViewTransition::getViewTransitionInstance(
|
|
30
|
+
jsi::Runtime& rt,
|
|
31
|
+
const std::string& name,
|
|
32
|
+
const std::string& pseudo) {
|
|
33
|
+
auto& uiManager = UIManagerBinding::getBinding(rt)->getUIManager();
|
|
34
|
+
auto* viewTransitionDelegate = uiManager.getViewTransitionDelegate();
|
|
35
|
+
if (viewTransitionDelegate == nullptr) {
|
|
36
|
+
return std::nullopt;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
auto instance =
|
|
40
|
+
viewTransitionDelegate->getViewTransitionInstance(name, pseudo);
|
|
41
|
+
if (!instance) {
|
|
42
|
+
return std::nullopt;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
auto result = jsi::Object(rt);
|
|
46
|
+
result.setProperty(rt, "x", instance->x);
|
|
47
|
+
result.setProperty(rt, "y", instance->y);
|
|
48
|
+
result.setProperty(rt, "width", instance->width);
|
|
49
|
+
result.setProperty(rt, "height", instance->height);
|
|
50
|
+
result.setProperty(rt, "nativeTag", static_cast<double>(instance->nativeTag));
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
jsi::Value NativeViewTransition::findPseudoElementShadowNodeByTag(
|
|
55
|
+
jsi::Runtime& rt,
|
|
56
|
+
double reactTag) {
|
|
57
|
+
auto& uiManager = UIManagerBinding::getBinding(rt)->getUIManager();
|
|
58
|
+
auto* viewTransitionDelegate = uiManager.getViewTransitionDelegate();
|
|
59
|
+
if (viewTransitionDelegate != nullptr) {
|
|
60
|
+
auto shadowNode = viewTransitionDelegate->findPseudoElementShadowNodeByTag(
|
|
61
|
+
static_cast<Tag>(reactTag));
|
|
62
|
+
if (shadowNode) {
|
|
63
|
+
return Bridging<std::shared_ptr<const ShadowNode>>::toJs(rt, shadowNode);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return jsi::Value::null();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
void NativeViewTransition::waitForTransitionAnimation(
|
|
71
|
+
jsi::Runtime& rt,
|
|
72
|
+
double animationId) {
|
|
73
|
+
auto& uiManager = UIManagerBinding::getBinding(rt)->getUIManager();
|
|
74
|
+
auto* viewTransitionDelegate = uiManager.getViewTransitionDelegate();
|
|
75
|
+
if (viewTransitionDelegate != nullptr) {
|
|
76
|
+
viewTransitionDelegate->waitForTransitionAnimation(
|
|
77
|
+
static_cast<int>(animationId));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
void NativeViewTransition::transitionAnimationFinished(
|
|
82
|
+
jsi::Runtime& rt,
|
|
83
|
+
double animationId) {
|
|
84
|
+
auto& uiManager = UIManagerBinding::getBinding(rt)->getUIManager();
|
|
85
|
+
auto* viewTransitionDelegate = uiManager.getViewTransitionDelegate();
|
|
86
|
+
if (viewTransitionDelegate != nullptr) {
|
|
87
|
+
viewTransitionDelegate->transitionAnimationFinished(
|
|
88
|
+
static_cast<int>(animationId));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <optional>
|
|
11
|
+
#include <string>
|
|
12
|
+
|
|
13
|
+
#if __has_include("FBReactNativeSpecJSI.h") // CocoaPod headers on Apple
|
|
14
|
+
#include "FBReactNativeSpecJSI.h"
|
|
15
|
+
#else
|
|
16
|
+
#include <FBReactNativeSpec/FBReactNativeSpecJSI.h>
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#include <react/renderer/bridging/bridging.h>
|
|
20
|
+
|
|
21
|
+
namespace facebook::react {
|
|
22
|
+
|
|
23
|
+
class NativeViewTransition : public NativeViewTransitionCxxSpec<NativeViewTransition> {
|
|
24
|
+
public:
|
|
25
|
+
explicit NativeViewTransition(std::shared_ptr<CallInvoker> jsInvoker);
|
|
26
|
+
|
|
27
|
+
std::optional<jsi::Object>
|
|
28
|
+
getViewTransitionInstance(jsi::Runtime &rt, const std::string &name, const std::string &pseudo);
|
|
29
|
+
|
|
30
|
+
jsi::Value findPseudoElementShadowNodeByTag(jsi::Runtime &rt, double reactTag);
|
|
31
|
+
|
|
32
|
+
void waitForTransitionAnimation(jsi::Runtime &rt, double animationId);
|
|
33
|
+
|
|
34
|
+
void transitionAnimationFinished(jsi::Runtime &rt, double animationId);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
} // namespace facebook::react
|
package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
#
|
|
3
|
+
# This source code is licensed under the MIT license found in the
|
|
4
|
+
# LICENSE file in the root directory of this source tree.
|
|
5
|
+
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
|
+
version = package['version']
|
|
10
|
+
|
|
11
|
+
source = { :git => 'https://github.com/facebook/react-native.git' }
|
|
12
|
+
if version == '1000.0.0'
|
|
13
|
+
# This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
|
|
14
|
+
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
15
|
+
else
|
|
16
|
+
source[:tag] = "v#{version}"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
header_search_paths = [
|
|
20
|
+
"\"$(PODS_ROOT)/Headers/Private/Yoga\"",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
if ENV['USE_FRAMEWORKS']
|
|
24
|
+
header_search_paths << "\"$(PODS_TARGET_SRCROOT)/../../..\"" # this is needed to allow the viewtransitionnativemodule to access its own files
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
Pod::Spec.new do |s|
|
|
28
|
+
s.name = "React-viewtransitionnativemodule"
|
|
29
|
+
s.version = version
|
|
30
|
+
s.summary = "React Native view transition native module"
|
|
31
|
+
s.homepage = "https://reactnative.dev/"
|
|
32
|
+
s.license = package["license"]
|
|
33
|
+
s.author = "Meta Platforms, Inc. and its affiliates"
|
|
34
|
+
s.platforms = min_supported_versions
|
|
35
|
+
s.source = source
|
|
36
|
+
s.source_files = podspec_sources("*.{cpp,h}", "*.h")
|
|
37
|
+
s.header_dir = "react/nativemodule/viewtransition"
|
|
38
|
+
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
39
|
+
"HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
|
|
40
|
+
"OTHER_CFLAGS" => "$(inherited)",
|
|
41
|
+
"DEFINES_MODULE" => "YES" }
|
|
42
|
+
|
|
43
|
+
resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_viewtransitionnativemodule")
|
|
44
|
+
|
|
45
|
+
s.dependency "React-jsi"
|
|
46
|
+
s.dependency "React-jsiexecutor"
|
|
47
|
+
|
|
48
|
+
depend_on_js_engine(s)
|
|
49
|
+
add_rn_third_party_dependencies(s)
|
|
50
|
+
add_rncore_dependency(s)
|
|
51
|
+
|
|
52
|
+
s.dependency "Yoga"
|
|
53
|
+
s.dependency "ReactCommon/turbomodule/core"
|
|
54
|
+
s.dependency "React-Fabric"
|
|
55
|
+
s.dependency "React-Fabric/bridging"
|
|
56
|
+
add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
|
|
57
|
+
add_dependency(s, "React-RCTFBReactNativeSpec")
|
|
58
|
+
end
|
|
@@ -34,6 +34,15 @@ namespace facebook::react {
|
|
|
34
34
|
|
|
35
35
|
namespace {
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Default `durationThreshold` (in milliseconds) applied to `event` entries when
|
|
39
|
+
* the JS API does not provide an explicit value. Per the W3C Event Timing
|
|
40
|
+
* spec, observers for `event` entries default to a 104ms threshold:
|
|
41
|
+
* https://www.w3.org/TR/event-timing/#sec-modifications-perf-timeline
|
|
42
|
+
*/
|
|
43
|
+
constexpr HighResDuration DEFAULT_EVENT_DURATION_THRESHOLD =
|
|
44
|
+
HighResDuration::fromMilliseconds(104);
|
|
45
|
+
|
|
37
46
|
class PerformanceObserverWrapper : public jsi::NativeState {
|
|
38
47
|
public:
|
|
39
48
|
explicit PerformanceObserverWrapper(
|
|
@@ -337,7 +346,7 @@ void NativePerformance::observe(
|
|
|
337
346
|
}
|
|
338
347
|
|
|
339
348
|
auto durationThreshold =
|
|
340
|
-
options.durationThreshold.value_or(
|
|
349
|
+
options.durationThreshold.value_or(DEFAULT_EVENT_DURATION_THRESHOLD);
|
|
341
350
|
|
|
342
351
|
// observer of type multiple
|
|
343
352
|
if (options.entryTypes.has_value()) {
|
|
@@ -80,7 +80,7 @@ using PerformanceEntry = std::variant<
|
|
|
80
80
|
PerformanceResourceTiming>;
|
|
81
81
|
|
|
82
82
|
struct PerformanceEntrySorter {
|
|
83
|
-
bool operator()(const PerformanceEntry &lhs, const PerformanceEntry &rhs)
|
|
83
|
+
bool operator()(const PerformanceEntry &lhs, const PerformanceEntry &rhs) const
|
|
84
84
|
{
|
|
85
85
|
return std::visit(
|
|
86
86
|
[](const auto &left, const auto &right) {
|