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
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#import "RCTViewComponentView.h"
|
|
9
|
+
#import <React/RCTSurfaceHostingProxyRootView.h>
|
|
9
10
|
|
|
10
11
|
#import <CoreGraphics/CoreGraphics.h>
|
|
11
12
|
#import <QuartzCore/QuartzCore.h>
|
|
@@ -143,8 +144,26 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
143
144
|
_contentView.frame = RCTCGRectFromRect(_layoutMetrics.getContentFrame());
|
|
144
145
|
}
|
|
145
146
|
}
|
|
147
|
+
|
|
148
|
+
// Rejects hits against views whose 2D transform collapses an axis (e.g. `scaleX: 0`,
|
|
149
|
+
// `scaleY: 0`, or any other non-invertible affine). Such views are visually degenerate, and
|
|
150
|
+
// UIKit's `-convertPoint:fromView:` falls back to the original matrix when
|
|
151
|
+
// `CGAffineTransformInvert` can't invert, so without this check the degenerate transform is
|
|
152
|
+
// applied to the touch point and the view can still register hits along the collapsed axis.
|
|
153
|
+
static BOOL RCTLayerTransformCollapsesAxis(CALayer *layer)
|
|
154
|
+
{
|
|
155
|
+
CATransform3D t = layer.transform;
|
|
156
|
+
// Determinant of the 2x2 projection onto the XY plane. Anything non-zero is invertible; we
|
|
157
|
+
// treat values within float epsilon as zero to avoid numerical issues near machine precision.
|
|
158
|
+
CGFloat det = t.m11 * t.m22 - t.m12 * t.m21;
|
|
159
|
+
return fabs(det) < (CGFloat)1e-6;
|
|
160
|
+
}
|
|
161
|
+
|
|
146
162
|
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
|
|
147
163
|
{
|
|
164
|
+
if (RCTLayerTransformCollapsesAxis(self.layer)) {
|
|
165
|
+
return NO;
|
|
166
|
+
}
|
|
148
167
|
if (UIEdgeInsetsEqualToEdgeInsets(self.hitTestEdgeInsets, UIEdgeInsetsZero)) {
|
|
149
168
|
return [super pointInside:point withEvent:event];
|
|
150
169
|
}
|
|
@@ -699,11 +718,18 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
699
718
|
[_reactSubviews removeObjectAtIndex:index];
|
|
700
719
|
} else {
|
|
701
720
|
RCTAssert(
|
|
702
|
-
childComponentView.superview
|
|
703
|
-
@"Attempt to unmount a view which is mounted
|
|
721
|
+
childComponentView.superview != nil,
|
|
722
|
+
@"Attempt to unmount a view which is not mounted. (parent: %@, child: %@, index: %@)",
|
|
704
723
|
self,
|
|
705
724
|
childComponentView,
|
|
706
725
|
@(index));
|
|
726
|
+
RCTAssert(
|
|
727
|
+
childComponentView.superview == self.currentContainerView,
|
|
728
|
+
@"Attempt to unmount a view which is mounted inside a different view. (parent: %@, child: %@, index: %@, existing parent: %@)",
|
|
729
|
+
self,
|
|
730
|
+
childComponentView,
|
|
731
|
+
@(index),
|
|
732
|
+
@([childComponentView.superview tag]));
|
|
707
733
|
RCTAssert(
|
|
708
734
|
(self.currentContainerView.subviews.count > index) &&
|
|
709
735
|
[self.currentContainerView.subviews objectAtIndex:index] == childComponentView,
|
|
@@ -718,6 +744,30 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
718
744
|
[childComponentView removeFromSuperview];
|
|
719
745
|
}
|
|
720
746
|
|
|
747
|
+
- (void)_updateRemoveClippedSubviewsState
|
|
748
|
+
{
|
|
749
|
+
if (_removeClippedSubviews) {
|
|
750
|
+
// Toggled ON: populate _reactSubviews from the current view hierarchy.
|
|
751
|
+
// Actual clipping will happen on the next scroll event.
|
|
752
|
+
RCTAssert(
|
|
753
|
+
_reactSubviews.count == 0,
|
|
754
|
+
@"_reactSubviews should be empty when toggling removeClippedSubviews on. (view: %@, count: %@)",
|
|
755
|
+
self,
|
|
756
|
+
@(_reactSubviews.count));
|
|
757
|
+
if (self.currentContainerView.subviews.count > 0) {
|
|
758
|
+
_reactSubviews = [NSMutableArray arrayWithArray:self.currentContainerView.subviews];
|
|
759
|
+
}
|
|
760
|
+
} else {
|
|
761
|
+
// Toggled OFF: re-mount all children in the correct order, then clear the tracking array.
|
|
762
|
+
// addSubview: on an already-present child moves it to the front, so iterating in order
|
|
763
|
+
// produces the correct subview ordering.
|
|
764
|
+
for (UIView *view in _reactSubviews) {
|
|
765
|
+
[self.currentContainerView addSubview:view];
|
|
766
|
+
}
|
|
767
|
+
[_reactSubviews removeAllObjects];
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
|
|
721
771
|
- (void)updateClippedSubviewsWithClipRect:(CGRect)clipRect relativeToView:(UIView *)clipView
|
|
722
772
|
{
|
|
723
773
|
if (!_removeClippedSubviews) {
|
|
@@ -783,9 +833,7 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
783
833
|
if (!ReactNativeFeatureFlags::enableViewCulling()) {
|
|
784
834
|
if (oldViewProps.removeClippedSubviews != newViewProps.removeClippedSubviews) {
|
|
785
835
|
_removeClippedSubviews = newViewProps.removeClippedSubviews;
|
|
786
|
-
|
|
787
|
-
_reactSubviews = [NSMutableArray arrayWithArray:self.currentContainerView.subviews];
|
|
788
|
-
}
|
|
836
|
+
[self _updateRemoveClippedSubviewsState];
|
|
789
837
|
}
|
|
790
838
|
}
|
|
791
839
|
|
|
@@ -1073,6 +1121,9 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
1073
1121
|
case BlendMode::Luminosity:
|
|
1074
1122
|
self.layer.compositingFilter = @"luminosityBlendMode";
|
|
1075
1123
|
break;
|
|
1124
|
+
case BlendMode::PlusLighter:
|
|
1125
|
+
self.layer.compositingFilter = @"linearDodgeBlendMode";
|
|
1126
|
+
break;
|
|
1076
1127
|
case BlendMode::Normal:
|
|
1077
1128
|
self.layer.compositingFilter = nil;
|
|
1078
1129
|
break;
|
|
@@ -2336,9 +2387,11 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
|
|
|
2336
2387
|
}
|
|
2337
2388
|
}
|
|
2338
2389
|
|
|
2390
|
+
#pragma mark - Focus Events
|
|
2391
|
+
|
|
2339
2392
|
- (BOOL)canBecomeFirstResponder
|
|
2340
2393
|
{
|
|
2341
|
-
return
|
|
2394
|
+
return ReactNativeFeatureFlags::enableImperativeFocus();
|
|
2342
2395
|
}
|
|
2343
2396
|
|
|
2344
2397
|
- (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args
|
|
@@ -2361,6 +2414,17 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
|
|
|
2361
2414
|
- (void)focus
|
|
2362
2415
|
{
|
|
2363
2416
|
[self becomeFirstResponder];
|
|
2417
|
+
|
|
2418
|
+
#if TARGET_OS_TV
|
|
2419
|
+
RCTSurfaceHostingProxyRootView *rootView = [self containingRootView];
|
|
2420
|
+
if (rootView == nil) {
|
|
2421
|
+
return;
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
rootView.reactPreferredFocusedView = self;
|
|
2425
|
+
[rootView setNeedsFocusUpdate];
|
|
2426
|
+
[rootView updateFocusIfNeeded];
|
|
2427
|
+
#endif
|
|
2364
2428
|
}
|
|
2365
2429
|
|
|
2366
2430
|
- (void)blur
|
|
@@ -2368,8 +2432,6 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
|
|
|
2368
2432
|
[self resignFirstResponder];
|
|
2369
2433
|
}
|
|
2370
2434
|
|
|
2371
|
-
#pragma mark - Focus Events
|
|
2372
|
-
|
|
2373
2435
|
- (BOOL)becomeFirstResponder
|
|
2374
2436
|
{
|
|
2375
2437
|
if (![super becomeFirstResponder]) {
|
|
@@ -13,9 +13,23 @@
|
|
|
13
13
|
#import <react/renderer/graphics/Color.h>
|
|
14
14
|
#import <react/renderer/graphics/RCTPlatformColorUtils.h>
|
|
15
15
|
#import <react/renderer/graphics/Transform.h>
|
|
16
|
+
#import <react/timing/primitives.h>
|
|
16
17
|
|
|
17
18
|
NS_ASSUME_NONNULL_BEGIN
|
|
18
19
|
|
|
20
|
+
/*
|
|
21
|
+
* Converts an iOS timestamp (seconds since boot, NOT including sleep time, from
|
|
22
|
+
* NSProcessInfo.processInfo.systemUptime or UITouch.timestamp) to a HighResTimeStamp.
|
|
23
|
+
*
|
|
24
|
+
* iOS timestamps and HighResTimeStamp both use mach_absolute_time() which doesn't
|
|
25
|
+
* account for sleep time. We convert the timestamp directly since they share the
|
|
26
|
+
* same time domain.
|
|
27
|
+
*/
|
|
28
|
+
inline facebook::react::HighResTimeStamp RCTHighResTimeStampFromSeconds(NSTimeInterval seconds)
|
|
29
|
+
{
|
|
30
|
+
return facebook::react::HighResTimeStamp::fromDOMHighResTimeStamp(seconds * 1e3);
|
|
31
|
+
}
|
|
32
|
+
|
|
19
33
|
inline NSString *RCTNSStringFromString(
|
|
20
34
|
const std::string &string,
|
|
21
35
|
const NSStringEncoding &encoding = NSUTF8StringEncoding)
|
|
@@ -85,6 +85,24 @@ class SchedulerDelegateProxy : public SchedulerDelegate {
|
|
|
85
85
|
// This delegate method is not currently used on iOS.
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
void schedulerDidCaptureViewSnapshot(Tag tag, SurfaceId surfaceId) override
|
|
89
|
+
{
|
|
90
|
+
// Does nothing.
|
|
91
|
+
// View transition snapshots are not currently implemented on iOS.
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
void schedulerDidSetViewSnapshot(Tag sourceTag, Tag targetTag, SurfaceId surfaceId) override
|
|
95
|
+
{
|
|
96
|
+
// Does nothing.
|
|
97
|
+
// View transition snapshots are not currently implemented on iOS.
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
void schedulerDidClearPendingSnapshots() override
|
|
101
|
+
{
|
|
102
|
+
// Does nothing.
|
|
103
|
+
// View transition snapshots are not currently implemented on iOS.
|
|
104
|
+
}
|
|
105
|
+
|
|
88
106
|
private:
|
|
89
107
|
void *scheduler_;
|
|
90
108
|
};
|
|
@@ -293,6 +293,7 @@ static PointerEvent CreatePointerEventFromActivePointer(
|
|
|
293
293
|
PointerEvent event = {};
|
|
294
294
|
event.pointerId = activePointer.identifier;
|
|
295
295
|
event.pointerType = PointerTypeCStringFromUITouchType(activePointer.touchType);
|
|
296
|
+
event.timeStamp = RCTHighResTimeStampFromSeconds(activePointer.timestamp);
|
|
296
297
|
|
|
297
298
|
if (eventType == RCTPointerEventTypeCancel) {
|
|
298
299
|
event.clientPoint = RCTPointFromCGPoint(CGPointZero);
|
|
@@ -353,7 +354,8 @@ static PointerEvent CreatePointerEventFromIncompleteHoverData(
|
|
|
353
354
|
CGPoint clientLocation,
|
|
354
355
|
CGPoint screenLocation,
|
|
355
356
|
CGPoint offsetLocation,
|
|
356
|
-
UIKeyModifierFlags modifierFlags
|
|
357
|
+
UIKeyModifierFlags modifierFlags,
|
|
358
|
+
HighResTimeStamp timeStamp)
|
|
357
359
|
{
|
|
358
360
|
PointerEvent event = {};
|
|
359
361
|
event.pointerId = pointerId;
|
|
@@ -373,6 +375,7 @@ static PointerEvent CreatePointerEventFromIncompleteHoverData(
|
|
|
373
375
|
event.tangentialPressure = 0.0;
|
|
374
376
|
event.twist = 0;
|
|
375
377
|
event.isPrimary = true;
|
|
378
|
+
event.timeStamp = timeStamp;
|
|
376
379
|
|
|
377
380
|
return event;
|
|
378
381
|
}
|
|
@@ -781,8 +784,11 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act
|
|
|
781
784
|
|
|
782
785
|
modifierFlags = recognizer.modifierFlags;
|
|
783
786
|
|
|
787
|
+
// For hover events, use the current time as we don't have a precise timestamp
|
|
788
|
+
HighResTimeStamp eventTimestamp = HighResTimeStamp::now();
|
|
789
|
+
|
|
784
790
|
PointerEvent event = CreatePointerEventFromIncompleteHoverData(
|
|
785
|
-
pointerId, pointerType, clientLocation, screenLocation, offsetLocation, modifierFlags);
|
|
791
|
+
pointerId, pointerType, clientLocation, screenLocation, offsetLocation, modifierFlags, eventTimestamp);
|
|
786
792
|
|
|
787
793
|
SharedTouchEventEmitter eventEmitter = GetTouchEmitterFromView(targetView, offsetLocation);
|
|
788
794
|
if (eventEmitter != nil) {
|
|
@@ -67,6 +67,7 @@ static void UpdateActiveTouchWithUITouch(
|
|
|
67
67
|
activeTouch.touch.pagePoint = RCTPointFromCGPoint(pagePoint);
|
|
68
68
|
|
|
69
69
|
activeTouch.touch.timestamp = uiTouch.timestamp;
|
|
70
|
+
activeTouch.touch.timeStamp = RCTHighResTimeStampFromSeconds(uiTouch.timestamp);
|
|
70
71
|
|
|
71
72
|
if (RCTForceTouchAvailable()) {
|
|
72
73
|
activeTouch.touch.force = RCTZeroIfNaN(uiTouch.force / uiTouch.maximumPossibleForce);
|
|
@@ -214,6 +214,7 @@ using namespace facebook::react;
|
|
|
214
214
|
if (!isnan(viewportOffset.x) && !isnan(viewportOffset.y)) {
|
|
215
215
|
layoutContext.viewportOffset = RCTPointFromCGPoint(viewportOffset);
|
|
216
216
|
}
|
|
217
|
+
layoutContext.viewportSize = layoutConstraints.maximumSize;
|
|
217
218
|
|
|
218
219
|
_surfaceHandler->constraintLayout(layoutConstraints, layoutContext);
|
|
219
220
|
}
|
|
@@ -236,6 +237,8 @@ using namespace facebook::react;
|
|
|
236
237
|
layoutConstraints.minimumSize = RCTSizeFromCGSize(minimumSize);
|
|
237
238
|
layoutConstraints.maximumSize = RCTSizeFromCGSize(maximumSize);
|
|
238
239
|
|
|
240
|
+
layoutContext.viewportSize = layoutConstraints.maximumSize;
|
|
241
|
+
|
|
239
242
|
return RCTCGSizeFromSize(_surfaceHandler->measure(layoutConstraints, layoutContext));
|
|
240
243
|
}
|
|
241
244
|
|
|
Binary file
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#import "RCTUIManager.h"
|
|
9
9
|
|
|
10
10
|
#import <AVFoundation/AVFoundation.h>
|
|
11
|
+
#import <React/RCTDefines.h>
|
|
11
12
|
#import <React/RCTSurfacePresenterStub.h>
|
|
12
13
|
#import <react/featureflags/ReactNativeFeatureFlags.h>
|
|
13
14
|
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
#import "RCTComponent.h"
|
|
18
19
|
#import "RCTComponentData.h"
|
|
19
20
|
#import "RCTConvert.h"
|
|
20
|
-
#import "RCTDefines.h"
|
|
21
21
|
#import "RCTEventDispatcherProtocol.h"
|
|
22
22
|
#import "RCTLayoutAnimation.h"
|
|
23
23
|
#import "RCTLayoutAnimationGroup.h"
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
* using it.
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
+
#pragma clang diagnostic push
|
|
23
|
+
#pragma clang diagnostic ignored "-Wdeprecated"
|
|
24
|
+
|
|
22
25
|
RCT_EXTERN __deprecated_msg("This API will be removed along with the legacy architecture.") NSString *const
|
|
23
26
|
RCTProfileDidStartProfiling;
|
|
24
27
|
RCT_EXTERN __deprecated_msg("This API will be removed along with the legacy architecture.") NSString *const
|
|
@@ -261,3 +264,5 @@ RCT_EXTERN void RCTProfileHideControls(void)
|
|
|
261
264
|
#define RCTProfileHideControls(...)
|
|
262
265
|
|
|
263
266
|
#endif
|
|
267
|
+
|
|
268
|
+
#pragma clang diagnostic pop
|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
#import <objc/runtime.h>
|
|
14
14
|
#import <stdatomic.h>
|
|
15
15
|
|
|
16
|
+
#import <React/RCTDefines.h>
|
|
16
17
|
#import <UIKit/UIKit.h>
|
|
17
18
|
|
|
18
19
|
#import "RCTAssert.h"
|
|
19
20
|
#import "RCTBridge+Private.h"
|
|
20
21
|
#import "RCTBridge.h"
|
|
21
22
|
#import "RCTComponentData.h"
|
|
22
|
-
#import "RCTDefines.h"
|
|
23
23
|
#import "RCTLog.h"
|
|
24
24
|
#import "RCTModuleData.h"
|
|
25
25
|
#import "RCTReloadCommand.h"
|
|
@@ -315,6 +315,7 @@ void RCTProfileHookModules(RCTBridge *bridge)
|
|
|
315
315
|
|
|
316
316
|
#pragma clang diagnostic push
|
|
317
317
|
#pragma clang diagnostic ignored "-Wtautological-pointer-compare"
|
|
318
|
+
#pragma clang diagnostic ignored "-Wunreachable-code-return"
|
|
318
319
|
if (RCTProfileTrampoline == NULL) {
|
|
319
320
|
return;
|
|
320
321
|
}
|
|
@@ -0,0 +1,186 @@
|
|
|
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
|
+
#import <React/RCTViewComponentView.h>
|
|
9
|
+
#import <XCTest/XCTest.h>
|
|
10
|
+
#import <react/renderer/components/view/ViewProps.h>
|
|
11
|
+
#import <react/renderer/components/view/ViewShadowNode.h>
|
|
12
|
+
|
|
13
|
+
using namespace facebook::react;
|
|
14
|
+
|
|
15
|
+
static Props::Shared makeViewProps(bool removeClippedSubviews)
|
|
16
|
+
{
|
|
17
|
+
auto props = std::make_shared<ViewProps>();
|
|
18
|
+
props->removeClippedSubviews = removeClippedSubviews;
|
|
19
|
+
return props;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@interface RCTViewComponentViewTests : XCTestCase
|
|
23
|
+
@end
|
|
24
|
+
|
|
25
|
+
@implementation RCTViewComponentViewTests
|
|
26
|
+
|
|
27
|
+
#pragma mark - removeClippedSubviews toggle
|
|
28
|
+
|
|
29
|
+
- (void)testToggleRemoveClippedSubviewsOffRemountsClippedChildren
|
|
30
|
+
{
|
|
31
|
+
RCTViewComponentView *parent = [RCTViewComponentView new];
|
|
32
|
+
UIView *child1 = [UIView new];
|
|
33
|
+
child1.frame = CGRectMake(0, 0, 50, 50);
|
|
34
|
+
UIView *child2 = [UIView new];
|
|
35
|
+
child2.frame = CGRectMake(0, 200, 50, 50);
|
|
36
|
+
UIView *child3 = [UIView new];
|
|
37
|
+
child3.frame = CGRectMake(0, 400, 50, 50);
|
|
38
|
+
|
|
39
|
+
// Mount children normally
|
|
40
|
+
[parent mountChildComponentView:(id)child1 index:0];
|
|
41
|
+
[parent mountChildComponentView:(id)child2 index:1];
|
|
42
|
+
[parent mountChildComponentView:(id)child3 index:2];
|
|
43
|
+
|
|
44
|
+
XCTAssertEqual(parent.subviews.count, 3u);
|
|
45
|
+
|
|
46
|
+
// Toggle removeClippedSubviews ON via props
|
|
47
|
+
auto propsOn = makeViewProps(true);
|
|
48
|
+
[parent updateProps:propsOn oldProps:ViewShadowNode::defaultSharedProps()];
|
|
49
|
+
|
|
50
|
+
// Simulate clipping: remove child2 and child3 from superview (as updateClippedSubviewsWithClipRect would)
|
|
51
|
+
[child2 removeFromSuperview];
|
|
52
|
+
[child3 removeFromSuperview];
|
|
53
|
+
XCTAssertEqual(parent.subviews.count, 1u);
|
|
54
|
+
XCTAssertNil(child2.superview);
|
|
55
|
+
XCTAssertNil(child3.superview);
|
|
56
|
+
|
|
57
|
+
// Toggle removeClippedSubviews OFF via props
|
|
58
|
+
auto propsOff = makeViewProps(false);
|
|
59
|
+
[parent updateProps:propsOff oldProps:propsOn];
|
|
60
|
+
|
|
61
|
+
// All children should be re-mounted
|
|
62
|
+
XCTAssertEqual(parent.subviews.count, 3u);
|
|
63
|
+
XCTAssertEqual(child1.superview, parent);
|
|
64
|
+
XCTAssertEqual(child2.superview, parent);
|
|
65
|
+
XCTAssertEqual(child3.superview, parent);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
- (void)testToggleRemoveClippedSubviewsOffPreservesOrder
|
|
69
|
+
{
|
|
70
|
+
RCTViewComponentView *parent = [RCTViewComponentView new];
|
|
71
|
+
UIView *child1 = [UIView new];
|
|
72
|
+
child1.frame = CGRectMake(0, 0, 50, 50);
|
|
73
|
+
UIView *child2 = [UIView new];
|
|
74
|
+
child2.frame = CGRectMake(0, 100, 50, 50);
|
|
75
|
+
UIView *child3 = [UIView new];
|
|
76
|
+
child3.frame = CGRectMake(0, 200, 50, 50);
|
|
77
|
+
|
|
78
|
+
[parent mountChildComponentView:(id)child1 index:0];
|
|
79
|
+
[parent mountChildComponentView:(id)child2 index:1];
|
|
80
|
+
[parent mountChildComponentView:(id)child3 index:2];
|
|
81
|
+
|
|
82
|
+
// Toggle ON and clip child1 (first child)
|
|
83
|
+
auto propsOn = makeViewProps(true);
|
|
84
|
+
[parent updateProps:propsOn oldProps:ViewShadowNode::defaultSharedProps()];
|
|
85
|
+
[child1 removeFromSuperview];
|
|
86
|
+
XCTAssertEqual(parent.subviews.count, 2u);
|
|
87
|
+
|
|
88
|
+
// Toggle OFF — all children re-mounted in correct order
|
|
89
|
+
auto propsOff = makeViewProps(false);
|
|
90
|
+
[parent updateProps:propsOff oldProps:propsOn];
|
|
91
|
+
|
|
92
|
+
XCTAssertEqual(parent.subviews.count, 3u);
|
|
93
|
+
XCTAssertEqual(parent.subviews[0], child1);
|
|
94
|
+
XCTAssertEqual(parent.subviews[1], child2);
|
|
95
|
+
XCTAssertEqual(parent.subviews[2], child3);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
- (void)testToggleRemoveClippedSubviewsOffClearsReactSubviews
|
|
99
|
+
{
|
|
100
|
+
RCTViewComponentView *parent = [RCTViewComponentView new];
|
|
101
|
+
UIView *child1 = [UIView new];
|
|
102
|
+
child1.frame = CGRectMake(0, 0, 50, 50);
|
|
103
|
+
|
|
104
|
+
[parent mountChildComponentView:(id)child1 index:0];
|
|
105
|
+
|
|
106
|
+
// Toggle ON
|
|
107
|
+
auto propsOn = makeViewProps(true);
|
|
108
|
+
[parent updateProps:propsOn oldProps:ViewShadowNode::defaultSharedProps()];
|
|
109
|
+
|
|
110
|
+
// Toggle OFF
|
|
111
|
+
auto propsOff = makeViewProps(false);
|
|
112
|
+
[parent updateProps:propsOff oldProps:propsOn];
|
|
113
|
+
|
|
114
|
+
// _reactSubviews should be cleared
|
|
115
|
+
NSMutableArray *reactSubviews = [parent valueForKey:@"_reactSubviews"];
|
|
116
|
+
XCTAssertEqual(reactSubviews.count, 0u);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
- (void)testUnmountAfterToggleOffCleansUpReactSubviews
|
|
120
|
+
{
|
|
121
|
+
RCTViewComponentView *parent = [RCTViewComponentView new];
|
|
122
|
+
UIView *child1 = [UIView new];
|
|
123
|
+
child1.frame = CGRectMake(0, 0, 50, 50);
|
|
124
|
+
UIView *child2 = [UIView new];
|
|
125
|
+
child2.frame = CGRectMake(0, 100, 50, 50);
|
|
126
|
+
|
|
127
|
+
// Toggle ON first, then mount children
|
|
128
|
+
auto propsOn = makeViewProps(true);
|
|
129
|
+
[parent updateProps:propsOn oldProps:ViewShadowNode::defaultSharedProps()];
|
|
130
|
+
[parent mountChildComponentView:(id)child1 index:0];
|
|
131
|
+
[parent mountChildComponentView:(id)child2 index:1];
|
|
132
|
+
|
|
133
|
+
// Toggle OFF — re-mounts children
|
|
134
|
+
auto propsOff = makeViewProps(false);
|
|
135
|
+
[parent updateProps:propsOff oldProps:propsOn];
|
|
136
|
+
|
|
137
|
+
XCTAssertEqual(parent.subviews.count, 2u);
|
|
138
|
+
|
|
139
|
+
// Unmount child2 — should succeed without assert failures
|
|
140
|
+
[parent unmountChildComponentView:(id)child2 index:1];
|
|
141
|
+
XCTAssertEqual(parent.subviews.count, 1u);
|
|
142
|
+
XCTAssertNil(child2.superview);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
#pragma mark - hitTest against non-invertible transforms (#50797)
|
|
146
|
+
|
|
147
|
+
- (void)testHitTestReturnsNilForZeroScaleYView
|
|
148
|
+
{
|
|
149
|
+
RCTViewComponentView *view = [RCTViewComponentView new];
|
|
150
|
+
view.frame = CGRectMake(0, 0, 100, 100);
|
|
151
|
+
view.layer.transform = CATransform3DMakeScale(1, 0, 1);
|
|
152
|
+
|
|
153
|
+
XCTAssertNil([view hitTest:CGPointMake(50, 50) withEvent:nil]);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
- (void)testHitTestReturnsNilForZeroScaleXView
|
|
157
|
+
{
|
|
158
|
+
RCTViewComponentView *view = [RCTViewComponentView new];
|
|
159
|
+
view.frame = CGRectMake(0, 0, 100, 100);
|
|
160
|
+
view.layer.transform = CATransform3DMakeScale(0, 1, 1);
|
|
161
|
+
|
|
162
|
+
XCTAssertNil([view hitTest:CGPointMake(50, 50) withEvent:nil]);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
- (void)testHitTestReturnsSelfForIdentityTransform
|
|
166
|
+
{
|
|
167
|
+
RCTViewComponentView *view = [RCTViewComponentView new];
|
|
168
|
+
view.frame = CGRectMake(0, 0, 100, 100);
|
|
169
|
+
|
|
170
|
+
XCTAssertEqual([view hitTest:CGPointMake(50, 50) withEvent:nil], view);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
- (void)testHitTestAfterScaleTransitionedToZeroReturnsNil
|
|
174
|
+
{
|
|
175
|
+
// #50797 variant: a view scaled to 0.9 first and then to 0.0 should stop receiving hits.
|
|
176
|
+
RCTViewComponentView *view = [RCTViewComponentView new];
|
|
177
|
+
view.frame = CGRectMake(0, 0, 100, 100);
|
|
178
|
+
|
|
179
|
+
view.layer.transform = CATransform3DMakeScale(1, 0.9, 1);
|
|
180
|
+
XCTAssertEqual([view hitTest:CGPointMake(50, 50) withEvent:nil], view);
|
|
181
|
+
|
|
182
|
+
view.layer.transform = CATransform3DMakeScale(1, 0, 1);
|
|
183
|
+
XCTAssertNil([view hitTest:CGPointMake(50, 50) withEvent:nil]);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
@end
|
|
@@ -144,7 +144,7 @@ using namespace facebook::react;
|
|
|
144
144
|
NSMutableParagraphStyle *str2ParagraphStyle = [NSMutableParagraphStyle new];
|
|
145
145
|
str2ParagraphStyle.alignment = NSTextAlignmentLeft;
|
|
146
146
|
|
|
147
|
-
// Base writing direction unless
|
|
147
|
+
// Base writing direction unless overridden by prop is determined by locale, and we assume this test runs in an LTR
|
|
148
148
|
// locale.
|
|
149
149
|
str2ParagraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;
|
|
150
150
|
[attributedString2 addAttribute:NSParagraphStyleAttributeName value:str2ParagraphStyle range:NSMakeRange(0, 5)];
|
|
@@ -173,7 +173,7 @@ using namespace facebook::react;
|
|
|
173
173
|
NSMutableParagraphStyle *str2ParagraphStyle = [NSMutableParagraphStyle new];
|
|
174
174
|
str2ParagraphStyle.alignment = NSTextAlignmentRight;
|
|
175
175
|
|
|
176
|
-
// Base writing direction unless
|
|
176
|
+
// Base writing direction unless overridden by prop is determined by locale, and we assume this test runs in an LTR
|
|
177
177
|
// locale.
|
|
178
178
|
str2ParagraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;
|
|
179
179
|
[attributedString2 addAttribute:NSParagraphStyleAttributeName value:str2ParagraphStyle range:NSMakeRange(0, 5)];
|
|
@@ -199,7 +199,7 @@ using namespace facebook::react;
|
|
|
199
199
|
NSMutableParagraphStyle *str2ParagraphStyle = [NSMutableParagraphStyle new];
|
|
200
200
|
str2ParagraphStyle.alignment = NSTextAlignmentLeft;
|
|
201
201
|
|
|
202
|
-
// Base writing direction unless
|
|
202
|
+
// Base writing direction unless overridden by prop is determined by locale, and we assume this test runs in an LTR
|
|
203
203
|
// locale.
|
|
204
204
|
str2ParagraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;
|
|
205
205
|
[attributedString2 addAttribute:NSParagraphStyleAttributeName value:str2ParagraphStyle range:NSMakeRange(0, 5)];
|
|
@@ -230,7 +230,7 @@ using namespace facebook::react;
|
|
|
230
230
|
NSMutableParagraphStyle *str2ParagraphStyle = [NSMutableParagraphStyle new];
|
|
231
231
|
str2ParagraphStyle.alignment = NSTextAlignmentCenter;
|
|
232
232
|
|
|
233
|
-
// Base writing direction unless
|
|
233
|
+
// Base writing direction unless overridden by prop is determined by locale, and we assume this test runs in an LTR
|
|
234
234
|
// locale.
|
|
235
235
|
str2ParagraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;
|
|
236
236
|
[attributedString2 addAttribute:NSParagraphStyleAttributeName value:str2ParagraphStyle range:NSMakeRange(0, 5)];
|
|
@@ -256,7 +256,7 @@ using namespace facebook::react;
|
|
|
256
256
|
NSMutableParagraphStyle *str2ParagraphStyle = [NSMutableParagraphStyle new];
|
|
257
257
|
str2ParagraphStyle.alignment = NSTextAlignmentLeft;
|
|
258
258
|
|
|
259
|
-
// Base writing direction unless
|
|
259
|
+
// Base writing direction unless overridden by prop is determined by locale, and we assume this test runs in an LTR
|
|
260
260
|
// locale.
|
|
261
261
|
str2ParagraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;
|
|
262
262
|
[attributedString2 addAttribute:NSParagraphStyleAttributeName value:str2ParagraphStyle range:NSMakeRange(0, 5)];
|
package/React/Views/RCTLayout.m
CHANGED
|
@@ -128,11 +128,12 @@ RCTDisplayType RCTReactDisplayTypeFromYogaDisplayType(YGDisplay displayType)
|
|
|
128
128
|
{
|
|
129
129
|
switch (displayType) {
|
|
130
130
|
case YGDisplayFlex:
|
|
131
|
+
case YGDisplayContents:
|
|
132
|
+
case YGDisplayGrid:
|
|
131
133
|
return RCTDisplayTypeFlex;
|
|
132
134
|
case YGDisplayNone:
|
|
133
135
|
return RCTDisplayTypeNone;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return RCTDisplayTypeNone;
|
|
136
|
+
default:
|
|
137
|
+
return RCTDisplayTypeFlex;
|
|
137
138
|
}
|
|
138
139
|
}
|
|
@@ -21,12 +21,15 @@
|
|
|
21
21
|
|
|
22
22
|
@protocol UIScrollViewDelegate;
|
|
23
23
|
|
|
24
|
+
#pragma clang diagnostic push
|
|
25
|
+
#pragma clang diagnostic warning "-Wdeprecated"
|
|
24
26
|
__attribute__((deprecated("This API will be removed along with the legacy architecture.")))
|
|
25
27
|
#if TARGET_OS_TV
|
|
26
28
|
@interface RCTScrollView : RCTTVView <UIScrollViewDelegate, RCTScrollableProtocol, RCTAutoInsetsProtocol>
|
|
27
29
|
#else
|
|
28
30
|
@interface RCTScrollView : RCTView <UIScrollViewDelegate, RCTScrollableProtocol, RCTAutoInsetsProtocol>
|
|
29
31
|
#endif
|
|
32
|
+
#pragma clang diagnostic pop
|
|
30
33
|
|
|
31
34
|
- (instancetype)initWithEventDispatcher:(id<RCTEventDispatcherProtocol>)eventDispatcher NS_DESIGNATED_INITIALIZER;
|
|
32
35
|
|
|
@@ -80,9 +83,10 @@ __attribute__((deprecated("This API will be removed along with the legacy archit
|
|
|
80
83
|
@end
|
|
81
84
|
|
|
82
85
|
@interface UIView (RCTScrollView)
|
|
83
|
-
|
|
86
|
+
#pragma clang diagnostic push
|
|
87
|
+
#pragma clang diagnostic ignored "-Wdeprecated"
|
|
84
88
|
- (void)reactUpdateResponderOffsetForScrollView:(RCTScrollView *)scrollView;
|
|
85
|
-
|
|
89
|
+
#pragma clang diagnostic pop
|
|
86
90
|
@end
|
|
87
91
|
|
|
88
92
|
@interface RCTScrollView (Internal)
|