react-native-tvos 0.84.1-0 → 0.85.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/ActionSheetIOS/ActionSheetIOS.js +3 -3
- package/Libraries/Animated/Animated.d.ts +8 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -4
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/animations/Animation.js +3 -3
- package/Libraries/Animated/animations/DecayAnimation.js +4 -4
- package/Libraries/Animated/animations/SpringAnimation.js +5 -5
- package/Libraries/Animated/animations/TimingAnimation.js +5 -5
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
- package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/{jest/mocks/Vibration.js → Libraries/Animated/useAnimatedColor.d.ts} +5 -6
- package/Libraries/Animated/useAnimatedColor.js +25 -0
- package/{jest/mocks/Clipboard.js → Libraries/Animated/useAnimatedValueXY.d.ts} +5 -6
- package/Libraries/Animated/useAnimatedValueXY.js +26 -0
- package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -8
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +1 -3
- package/Libraries/AppDelegate/RCTReactNativeFactory.mm +1 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -6
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +3 -3
- package/Libraries/BatchedBridge/NativeModules.js +12 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +6 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +10 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +18 -1
- package/Libraries/Components/ScrollView/ScrollView.js +33 -10
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +12 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +7 -4
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +8 -8
- package/Libraries/Components/Switch/Switch.js +3 -3
- package/Libraries/Components/TV/TVViewPropTypes.js +7 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
- package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
- package/Libraries/Components/TextInput/TextInput.js +8 -4
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.js +6 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
- package/Libraries/Components/View/View.js +6 -0
- package/Libraries/Components/View/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +15 -15
- package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ExtendedError.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +3 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +4 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -6
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlay.js +2 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -6
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/Image.android.js +172 -306
- package/Libraries/Image/ImageProps.js +9 -11
- package/Libraries/Image/ImageSource.js +2 -2
- package/Libraries/Image/ImageSourceUtils.js +8 -4
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/ImageViewNativeComponent.js +7 -16
- package/Libraries/Image/RCTImageUtils.mm +37 -1
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +5 -4
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +3 -3
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +38 -24
- package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
- package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
- package/Libraries/LogBox/LogBox.js +42 -19
- package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +28 -30
- package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
- package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
- package/Libraries/NativeComponent/TVViewConfig.js +1 -0
- package/Libraries/Network/RCTHTTPRequestHandler.h +9 -0
- package/Libraries/Network/RCTHTTPRequestHandler.mm +15 -1
- 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/RCTNetworkingEventDefinitions.flow.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +12 -5
- package/Libraries/Pressability/PressabilityDebug.js +1 -1
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/Pressability/usePressability.js +3 -14
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +11 -21
- package/Libraries/ReactNative/AppContainer-dev.js +18 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +4 -4
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +3 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +33 -36
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
- package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
- package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
- package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
- package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
- package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
- package/Libraries/StyleSheet/processBoxShadow.js +44 -4
- package/Libraries/StyleSheet/processColorArray.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +2 -2
- package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +5 -4
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +7 -1
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +14 -12
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +1 -1
- package/Libraries/Text/TextNativeComponent.js +14 -7
- package/Libraries/Text/TextProps.js +4 -4
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +21 -21
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/HMRClient.js +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +4 -4
- package/Libraries/Utilities/codegenNativeCommands.js +4 -4
- package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -3
- package/Libraries/Utilities/useMergeRefs.js +2 -2
- package/Libraries/WebSocket/RCTReconnectingWebSocket.m +4 -1
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +16 -20
- package/README.md +52 -0
- package/React/Base/RCTBridge.mm +1 -1
- package/React/Base/RCTBundleURLProvider.mm +29 -8
- package/React/Base/RCTConvert.mm +3 -18
- package/React/Base/RCTDefines.h +7 -8
- package/React/Base/RCTDevSupportHttpHeaders.h +24 -0
- package/React/Base/RCTDevSupportHttpHeaders.m +65 -0
- package/React/Base/RCTJavaScriptLoader.h +1 -0
- package/React/Base/RCTJavaScriptLoader.mm +6 -2
- package/React/Base/RCTMultipartDataTask.h +9 -0
- package/React/Base/RCTMultipartDataTask.m +19 -1
- package/React/Base/RCTTVColorSupport.h +17 -0
- package/React/Base/RCTTVColorSupport.mm +23 -0
- package/React/Base/RCTUtils.mm +15 -6
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTActionSheetManager.mm +28 -3
- package/React/CoreModules/RCTClipboard.mm +5 -5
- package/React/CoreModules/RCTDevLoadingView.mm +1 -1
- package/React/CoreModules/RCTDevSettings.mm +8 -0
- package/React/CoreModules/RCTDeviceInfo.mm +4 -3
- package/React/CoreModules/RCTKeyboardObserver.mm +9 -2
- package/React/CoreModules/RCTLogBoxView.mm +4 -8
- package/React/CoreModules/RCTPerfMonitor.mm +5 -0
- package/React/CoreModules/RCTStatusBarManager.h +2 -0
- package/React/CoreModules/RCTWebSocketModule.h +6 -0
- package/React/CoreModules/RCTWebSocketModule.mm +14 -1
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +33 -22
- package/React/DevSupport/RCTInspectorNetworkHelper.mm +2 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +66 -79
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +8 -8
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +4 -0
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +6 -0
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +8 -4
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +2 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +81 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +16 -4
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +145 -8
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +10 -5
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +13 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +9 -13
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +2 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +2 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +42 -4
- package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +2 -1
- package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +92 -163
- package/React/Fabric/Mounting/RCTMountingManager.mm +8 -3
- package/React/Fabric/RCTScheduler.h +2 -0
- package/React/Fabric/RCTScheduler.mm +57 -0
- package/React/Fabric/RCTSurfacePointerHandler.mm +15 -9
- package/React/Fabric/RCTSurfacePresenter.mm +9 -0
- package/React/Fabric/RCTSurfaceTouchHandler.mm +4 -2
- package/React/Fabric/Surface/RCTFabricSurface.mm +4 -0
- package/React/Fabric/Utils/RCTLinearGradient.mm +4 -9
- package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +5 -1
- package/React/Modules/RCTLayoutAnimation.m +10 -0
- package/React/Modules/RCTUIManager.mm +2 -4
- package/React/Profiler/RCTProfile.m +2 -0
- package/React/React-RCTFabric.podspec +3 -0
- package/React/Views/RCTView.m +6 -1
- package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
- package/React-Core-prebuilt.podspec +1 -1
- package/ReactAndroid/api/ReactAndroid.api +120 -298
- package/ReactAndroid/build.gradle.kts +9 -0
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +11 -101
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -26
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +19 -19
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +15 -15
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +8 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ScrollEndedListener.kt +70 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +36 -34
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +14 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +2 -8
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +17 -13
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +10 -19
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +74 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +110 -80
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +36 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +16 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +2 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +1258 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +37 -55
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +66 -96
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +14 -20
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +15 -21
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +74 -107
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +14 -20
- package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -15
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +4 -10
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +45 -74
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +17 -13
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +1 -1
- 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 +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +2 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +9 -3
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +12 -12
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +13 -7
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +14 -14
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +14 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +42 -28
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +8 -49
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +11 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +13 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +751 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +104 -781
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +7 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -31
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +103 -759
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +14 -38
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +41 -170
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -962
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundPosition.kt +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundRepeat.kt +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundSize.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +25 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +46 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +23 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +45 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +40 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +33 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/UiModeUtils.kt +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +132 -16
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +1647 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +466 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +104 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +71 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +2 -35
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +7 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +20 -41
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +270 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +39 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +4 -65
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +86 -111
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +243 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/SelectableTextViewManager.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +54 -77
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +10 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -75
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +5 -38
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ImportantForInteractionHelper.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +19 -60
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +150 -296
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualViewManager.kt +11 -13
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +64 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +244 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +183 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +6 -0
- package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +38 -0
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +4 -4
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +7 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +50 -2
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +11 -0
- package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +23 -0
- package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +37 -0
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +2 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +89 -131
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +19 -28
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -7
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -60
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +12 -28
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +13 -6
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +2 -1
- package/{ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.cpp → ReactAndroid/src/main/jni/react/uimanager/StateWrapper.h} +7 -2
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
- package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +2 -0
- package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +8 -1
- package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
- package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -2
- package/ReactCommon/React-Fabric.podspec +5 -6
- package/ReactCommon/React-FabricComponents.podspec +6 -8
- package/ReactCommon/cxxreact/ReactNativeVersion.h +8 -6
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
- package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +25 -16
- package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +1 -1
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -30
- package/ReactCommon/jsinspector-modern/HostAgent.h +4 -11
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +33 -33
- package/ReactCommon/jsinspector-modern/HostTarget.h +23 -24
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +1 -2
- package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +4 -9
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +0 -1
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +164 -54
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +39 -4
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +12 -3
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +13 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +6 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +34 -18
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +6 -95
- package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.cpp +122 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h +42 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.cpp +27 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h +27 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +7 -45
- package/ReactCommon/jsinspector-modern/TracingAgent.h +0 -11
- package/ReactCommon/jsinspector-modern/UniqueMonostate.h +0 -4
- package/ReactCommon/jsinspector-modern/WeakList.h +60 -1
- package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +25 -21
- package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +21 -15
- package/ReactCommon/jsinspector-modern/tests/GmockHelpers.h +1 -1
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +3 -3
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionMultiSessionTest.cpp +692 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +10 -123
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.h +140 -0
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +158 -6
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +34 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +223 -4
- package/ReactCommon/jsinspector-modern/tests/WeakListTest.cpp +31 -1
- package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +6 -9
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +4 -6
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +6 -17
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +4 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +27 -39
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +32 -47
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +153 -207
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -24
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +26 -38
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +56 -83
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -12
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +3 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -4
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +32 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.h +2 -0
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +32 -47
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +14 -20
- package/ReactCommon/react/renderer/animated/AnimatedModule.h +1 -1
- package/ReactCommon/react/renderer/animated/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +108 -151
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +16 -11
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +80 -86
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +0 -1
- package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +0 -1
- package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +0 -2
- package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +2 -2
- package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +32 -4
- package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +6 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +14 -21
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +3 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +6 -3
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +125 -63
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +33 -33
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +18 -8
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +39 -0
- package/ReactCommon/react/renderer/animationbackend/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -2
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +0 -6
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +0 -4
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +60 -0
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +3 -5
- package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm} +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropState.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm} +1 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +20 -0
- package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +6 -0
- package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +18 -1
- package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/scrollview/primitives.h +2 -11
- package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +83 -3
- package/ReactCommon/react/renderer/components/text/BaseParagraphComponentDescriptor.h +49 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +14 -14
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -28
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +4 -4
- package/ReactCommon/react/renderer/components/text/SelectableParagraphComponentDescriptor.h +24 -0
- package/ReactCommon/react/renderer/components/text/SelectableParagraphShadowNode.h +32 -0
- package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +2 -2
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +13 -1
- package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +2 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
- package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.cpp +15 -24
- package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -7
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +11 -1
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +4 -0
- package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +0 -3
- package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +57 -53
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +250 -2
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +19 -63
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/primitives.h +3 -86
- package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +215 -0
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +2 -2
- package/ReactCommon/react/renderer/core/EventEmitter.h +8 -8
- package/ReactCommon/react/renderer/core/EventPipe.h +1 -1
- package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -3
- package/ReactCommon/react/renderer/core/EventTarget.h +7 -7
- package/ReactCommon/react/renderer/core/LayoutConstraints.h +0 -5
- package/ReactCommon/react/renderer/core/LayoutContext.h +0 -5
- package/ReactCommon/react/renderer/core/LayoutMetrics.h +0 -2
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +11 -21
- package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -1
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +4 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -7
- package/ReactCommon/react/renderer/core/RawPropsParser.h +2 -6
- package/ReactCommon/react/renderer/core/RawValue.h +1 -2
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +33 -31
- package/ReactCommon/react/renderer/core/ShadowNode.h +19 -29
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +6 -6
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +14 -14
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +4 -2
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +2 -2
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +57 -2
- package/ReactCommon/react/renderer/css/CSSBackgroundImage.h +112 -140
- package/ReactCommon/react/renderer/css/CSSColor.h +7 -8
- package/ReactCommon/react/renderer/css/CSSColorFunction.h +38 -39
- package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +23 -17
- package/ReactCommon/react/renderer/css/CSSDataType.h +15 -10
- package/ReactCommon/react/renderer/css/CSSFilter.h +12 -17
- package/ReactCommon/react/renderer/css/CSSKeyword.h +8 -0
- package/ReactCommon/react/renderer/css/CSSList.h +11 -11
- package/ReactCommon/react/renderer/css/CSSRatio.h +4 -4
- package/ReactCommon/react/renderer/css/CSSShadow.h +7 -7
- package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +10 -6
- package/ReactCommon/react/renderer/css/CSSTokenizer.h +2 -0
- package/ReactCommon/react/renderer/css/CSSTransform.h +20 -20
- package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +4 -5
- package/ReactCommon/react/renderer/css/CSSValueParser.h +71 -67
- package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +11 -10
- package/ReactCommon/react/renderer/graphics/BackgroundPosition.h +0 -1
- package/ReactCommon/react/renderer/graphics/BackgroundRepeat.h +0 -1
- package/ReactCommon/react/renderer/graphics/BackgroundSize.h +0 -1
- package/ReactCommon/react/renderer/graphics/Filter.h +3 -2
- package/ReactCommon/react/renderer/graphics/LinearGradient.cpp +9 -15
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +7 -19
- package/ReactCommon/react/renderer/graphics/Point.h +0 -2
- package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -35
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/Rect.h +1 -9
- package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -10
- package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -10
- package/ReactCommon/react/renderer/graphics/Size.h +0 -5
- package/ReactCommon/react/renderer/graphics/Transform.cpp +0 -4
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -13
- package/ReactCommon/react/renderer/graphics/TransformUtils.h +95 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -11
- package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +13 -1
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +0 -4
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +11 -12
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +4 -3
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +1 -36
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +1 -9
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +1 -9
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/primitives.h +0 -5
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +51 -30
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +21 -38
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +153 -18
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +30 -6
- package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -4
- package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -1
- package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +170 -0
- package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +0 -5
- package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +3 -3
- package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +0 -4
- package/ReactCommon/react/renderer/mounting/stubs/StubView.h +0 -1
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -4
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +0 -2
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -0
- package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +12 -4
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +2 -1
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +0 -5
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +0 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -1
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +28 -1
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +2 -2
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +6 -0
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +2 -2
- package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +18 -18
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -5
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +3 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +4 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +15 -5
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +2 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +10 -1
- package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +1 -1
- package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +1 -3
- package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +68 -38
- package/ReactCommon/react/renderer/uimanager/UIManager.h +17 -8
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +17 -5
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +2 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -0
- package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.cpp +19 -23
- package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +2 -3
- package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +13 -5
- package/ReactCommon/react/renderer/uimanager/primitives.h +16 -7
- package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +287 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +16 -2
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +11 -6
- package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +11 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +17 -3
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +8 -1
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +8 -5
- package/ReactCommon/react/utils/ContextContainer.h +0 -2
- package/ReactCommon/yoga/yoga/YGNode.cpp +14 -0
- package/ReactCommon/yoga/yoga/YGValue.h +0 -4
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +7 -7
- package/ReactCommon/yoga/yoga/enums/YogaEnums.h +0 -1
- package/ReactCommon/yoga/yoga/node/LayoutResults.h +0 -3
- package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +0 -9
- package/ReactCommon/yoga/yoga/style/Style.h +0 -4
- package/flow/bom.js.flow +18 -17
- package/flow/dom.js.flow +12 -5
- package/flow/global.js +1 -1
- package/gradle/libs.versions.toml +1 -1
- package/index.js +9 -0
- package/index.js.flow +8 -1
- package/jest-preset.js +14 -18
- package/package.json +17 -17
- package/scripts/cocoapods/rncore.rb +111 -2
- package/scripts/cocoapods/utils.rb +2 -0
- package/scripts/codegen/templates/Package.swift.template +7 -0
- package/scripts/react_native_pods.rb +13 -6
- package/scripts/replace-rncore-version.js +12 -3
- package/sdks/.hermesv1version +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/version.properties +2 -2
- package/src/private/animated/NativeAnimatedHelper.js +2 -2
- package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
- package/src/private/components/virtualview/VirtualView.js +14 -21
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
- package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
- package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +49 -82
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -12
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- 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 +3 -3
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/utilities/toError.js +27 -0
- package/src/private/utilities/toExtendedError.js +30 -0
- package/src/private/webapis/dom/events/Event.js +1 -1
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
- package/src/private/webapis/dom/events/EventTarget.js +3 -3
- package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
- package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
- package/src/private/webapis/performance/LongTasks.js +3 -3
- package/src/private/webapis/performance/Performance.js +4 -4
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
- package/src/private/webapis/structuredClone/structuredClone.js +2 -2
- package/src/types/globals.d.ts +4 -4
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/fmt.podspec +2 -2
- package/types/index.d.ts +2 -0
- package/types/public/ReactNativeTVTypes.d.ts +27 -2
- package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
- package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
- package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +0 -25
- package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +0 -321
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +0 -620
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +0 -1411
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -985
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +0 -403
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +0 -336
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +0 -135
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +0 -81
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +0 -72
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +0 -677
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +0 -218
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +0 -369
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +0 -156
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +0 -174
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +0 -58
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +0 -228
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +0 -305
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +0 -110
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -62
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +0 -35
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +0 -279
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +0 -197
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -410
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +0 -113
- package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +0 -19
- package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +0 -38
- package/jest/MockNativeMethods.js +0 -27
- package/jest/RefreshControlMock.js +0 -32
- package/jest/assetFileTransformer.js +0 -33
- package/jest/local-setup.js +0 -29
- package/jest/mock.js +0 -39
- package/jest/mockComponent.js +0 -104
- package/jest/mockNativeComponent.js +0 -52
- package/jest/mocks/AccessibilityInfo.js +0 -62
- package/jest/mocks/ActivityIndicator.js +0 -23
- package/jest/mocks/AppState.js +0 -19
- package/jest/mocks/Image.js +0 -23
- package/jest/mocks/InitializeCore.js +0 -9
- package/jest/mocks/Linking.js +0 -28
- package/jest/mocks/Modal.js +0 -33
- package/jest/mocks/NativeComponentRegistry.js +0 -30
- package/jest/mocks/NativeModules.js +0 -239
- package/jest/mocks/RefreshControl.js +0 -31
- package/jest/mocks/RendererProxy.js +0 -45
- package/jest/mocks/ScrollView.js +0 -58
- package/jest/mocks/Text.js +0 -27
- package/jest/mocks/TextInput.js +0 -32
- package/jest/mocks/UIManager.js +0 -60
- package/jest/mocks/View.js +0 -27
- package/jest/mocks/ViewNativeComponent.js +0 -23
- package/jest/mocks/requireNativeComponent.js +0 -22
- package/jest/mocks/useColorScheme.js +0 -18
- package/jest/react-native-env.js +0 -17
- package/jest/renderer.js +0 -40
- package/jest/resolver.js +0 -32
- package/jest/setup.js +0 -140
- /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewMode.h +0 -0
- /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewRenderState.h +0 -0
- /package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/{InteropUiBlockListener.kt → InteropUIBlockListener.kt} +0 -0
- /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h} +0 -0
- /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h} +0 -0
- /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm} +0 -0
- /package/ReactCommon/react/renderer/components/scrollview/{RCTComponentViewHelpers.h → platform/ios/react/renderer/components/scrollview/RCTComponentViewHelpers.h} +0 -0
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
#import <React/RCTTVRemoteHandler.h>
|
|
31
31
|
#import <React/RCTTVNavigationEventNotification.h>
|
|
32
32
|
#import "React/RCTI18nUtil.h"
|
|
33
|
+
#import "RCTViewComponentView.h"
|
|
33
34
|
#endif
|
|
34
35
|
|
|
35
36
|
using namespace facebook::react;
|
|
@@ -40,6 +41,7 @@ static NSString *kOnScrollEndEvent = @"onScrollEnded";
|
|
|
40
41
|
|
|
41
42
|
static const CGFloat kClippingLeeway = 44.0;
|
|
42
43
|
static const float TV_DEFAULT_SWIPE_DURATION = 0.3;
|
|
44
|
+
static const CGPoint NO_PREFERRED_CONTENT_OFFSET = CGPointMake(CGFLOAT_MIN, CGFLOAT_MIN);
|
|
43
45
|
|
|
44
46
|
static UIScrollViewKeyboardDismissMode RCTUIKeyboardDismissModeFromProps(const ScrollViewProps &props)
|
|
45
47
|
{
|
|
@@ -97,6 +99,8 @@ RCTSendScrollEventForNativeAnimations_DEPRECATED(UIScrollView *scrollView, NSInt
|
|
|
97
99
|
RCTScrollableProtocol,
|
|
98
100
|
RCTEnhancedScrollViewOverridingDelegate>
|
|
99
101
|
|
|
102
|
+
@property (nonatomic, assign) CGPoint preferredContentOffset;
|
|
103
|
+
|
|
100
104
|
@end
|
|
101
105
|
|
|
102
106
|
@implementation RCTScrollViewComponentView {
|
|
@@ -172,6 +176,7 @@ RCTSendScrollEventForNativeAnimations_DEPRECATED(UIScrollView *scrollView, NSInt
|
|
|
172
176
|
_endDraggingSensitivityMultiplier = 1;
|
|
173
177
|
|
|
174
178
|
_tvRemoteGestureRecognizers = [NSMutableDictionary new];
|
|
179
|
+
_preferredContentOffset = NO_PREFERRED_CONTENT_OFFSET;
|
|
175
180
|
}
|
|
176
181
|
|
|
177
182
|
return self;
|
|
@@ -429,6 +434,9 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
|
|
|
429
434
|
|
|
430
435
|
scrollView.snapToStart = newScrollViewProps.snapToStart;
|
|
431
436
|
scrollView.snapToEnd = newScrollViewProps.snapToEnd;
|
|
437
|
+
#if TARGET_OS_TV
|
|
438
|
+
scrollView.scrollAnimationEnabled = newScrollViewProps.scrollAnimationEnabled;
|
|
439
|
+
#endif
|
|
432
440
|
|
|
433
441
|
if (oldScrollViewProps.snapToOffsets != newScrollViewProps.snapToOffsets) {
|
|
434
442
|
NSMutableArray<NSNumber *> *snapToOffsets = [NSMutableArray array];
|
|
@@ -465,6 +473,12 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
|
|
|
465
473
|
scrollView.keyboardDismissMode = RCTUIKeyboardDismissModeFromProps(newScrollViewProps);
|
|
466
474
|
}
|
|
467
475
|
|
|
476
|
+
#if TARGET_OS_TV
|
|
477
|
+
if (oldScrollViewProps.snapToAlignment != newScrollViewProps.snapToAlignment) {
|
|
478
|
+
scrollView.scrollSnapEnabled = newScrollViewProps.snapToAlignment == ScrollViewSnapToAlignment::Item;
|
|
479
|
+
}
|
|
480
|
+
#endif
|
|
481
|
+
|
|
468
482
|
[super updateProps:props oldProps:oldProps];
|
|
469
483
|
}
|
|
470
484
|
|
|
@@ -702,6 +716,11 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
|
|
|
702
716
|
_scrollView.contentOffset = RCTCGPointFromPoint(props.contentOffset);
|
|
703
717
|
// Reset zoom scale to default
|
|
704
718
|
_scrollView.zoomScale = 1.0;
|
|
719
|
+
// Invalidate cached content size so that updateState: recalculates the
|
|
720
|
+
// container frame after zoomScale reset (which may have mutated it in RTL).
|
|
721
|
+
_contentSize = CGSizeZero;
|
|
722
|
+
// Reset contentInset to prevent stale insets leaking into recycled scroll views.
|
|
723
|
+
_scrollView.contentInset = UIEdgeInsetsZero;
|
|
705
724
|
// We set the default behavior to "never" so that iOS
|
|
706
725
|
// doesn't do weird things to UIScrollView insets automatically
|
|
707
726
|
// and keeps it as an opt-in behavior.
|
|
@@ -724,7 +743,10 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
|
|
|
724
743
|
withVelocity:(CGPoint)velocity
|
|
725
744
|
targetContentOffset:(inout CGPoint *)targetContentOffset
|
|
726
745
|
{
|
|
727
|
-
|
|
746
|
+
if (!CGPointEqualToPoint(self.preferredContentOffset, NO_PREFERRED_CONTENT_OFFSET))
|
|
747
|
+
{
|
|
748
|
+
*targetContentOffset = self.preferredContentOffset;
|
|
749
|
+
} else if (fabs(_endDraggingSensitivityMultiplier - 1) > 0.0001f) {
|
|
728
750
|
if (targetContentOffset->y > 0) {
|
|
729
751
|
const CGFloat travel = targetContentOffset->y - scrollView.contentOffset.y;
|
|
730
752
|
targetContentOffset->y = scrollView.contentOffset.y + travel * _endDraggingSensitivityMultiplier;
|
|
@@ -1149,20 +1171,121 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
|
|
|
1149
1171
|
self->_eventEmitter->onBlur();
|
|
1150
1172
|
}
|
|
1151
1173
|
|
|
1174
|
+
// Focus marker helper: traverses view hierarchy to find scrollSnapAlign prop
|
|
1175
|
+
// Returns the view that has the property via the output parameter
|
|
1176
|
+
- (NSString *)findScrollSnapAlignInView:(UIView *)view foundView:(UIView **)outView
|
|
1177
|
+
{
|
|
1178
|
+
UIView *testView = view;
|
|
1179
|
+
UIView *snapTarget;
|
|
1180
|
+
NSString *marker;
|
|
1181
|
+
|
|
1182
|
+
while (testView && testView != self) {
|
|
1183
|
+
if (![testView isKindOfClass:RCTViewComponentView.class])
|
|
1184
|
+
{
|
|
1185
|
+
testView = [testView superview];
|
|
1186
|
+
continue;
|
|
1187
|
+
}
|
|
1188
|
+
RCTViewComponentView *componentView = (RCTViewComponentView *)testView;
|
|
1189
|
+
|
|
1190
|
+
const auto &viewProps = static_cast<const facebook::react::BaseViewProps &>(*componentView.props);
|
|
1191
|
+
if (viewProps.scrollSnapAlign.has_value() && !viewProps.scrollSnapAlign.value().empty()) {
|
|
1192
|
+
marker = [NSString stringWithUTF8String:viewProps.scrollSnapAlign.value().c_str()];
|
|
1193
|
+
snapTarget = componentView;
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
testView = [testView superview];
|
|
1197
|
+
}
|
|
1198
|
+
*outView = snapTarget;
|
|
1199
|
+
return marker;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
- (void)_handleScrollSnapForFocusedView:(UIView *)focusedView
|
|
1203
|
+
{
|
|
1204
|
+
const auto &scrollProps = static_cast<const ScrollViewProps &>(*_props);
|
|
1205
|
+
UIView *snapAlignView = nil;
|
|
1206
|
+
NSString *scrollSnapAlign = [self findScrollSnapAlignInView:focusedView foundView:&snapAlignView];
|
|
1207
|
+
if (scrollSnapAlign == nil || snapAlignView == nil) {
|
|
1208
|
+
return;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
RCTEnhancedScrollView *scrollView = (RCTEnhancedScrollView *)_scrollView;
|
|
1212
|
+
CGRect focusedFrame = [snapAlignView convertRect:snapAlignView.bounds toView:_scrollView];
|
|
1213
|
+
CGFloat targetOffset;
|
|
1214
|
+
CGFloat snapToItemPadding = scrollProps.snapToItemPadding;
|
|
1215
|
+
|
|
1216
|
+
BOOL isHorizontalSnap = _scrollView.contentSize.width > self.frame.size.width;
|
|
1217
|
+
// Determine axis-specific properties
|
|
1218
|
+
CGFloat viewportSize, focusedOrigin, focusedSize, currentOffset, maxContentSize;
|
|
1219
|
+
if (isHorizontalSnap) {
|
|
1220
|
+
viewportSize = scrollView.bounds.size.width;
|
|
1221
|
+
focusedOrigin = focusedFrame.origin.x;
|
|
1222
|
+
focusedSize = focusedFrame.size.width;
|
|
1223
|
+
currentOffset = scrollView.contentOffset.x;
|
|
1224
|
+
maxContentSize = scrollView.contentSize.width;
|
|
1225
|
+
} else {
|
|
1226
|
+
viewportSize = scrollView.bounds.size.height;
|
|
1227
|
+
focusedOrigin = focusedFrame.origin.y;
|
|
1228
|
+
focusedSize = focusedFrame.size.height;
|
|
1229
|
+
currentOffset = scrollView.contentOffset.y;
|
|
1230
|
+
maxContentSize = scrollView.contentSize.height;
|
|
1231
|
+
}
|
|
1232
|
+
// Calculate target offset based on scrollSnapAlign (unified for both axes)
|
|
1233
|
+
if ([scrollSnapAlign isEqualToString:@"start"]) {
|
|
1234
|
+
targetOffset = focusedOrigin - snapToItemPadding;
|
|
1235
|
+
} else if ([scrollSnapAlign isEqualToString:@"center"]) {
|
|
1236
|
+
CGFloat viewportCenter = viewportSize / 2;
|
|
1237
|
+
CGFloat focusedCenter = focusedOrigin + (focusedSize / 2);
|
|
1238
|
+
targetOffset = focusedCenter - viewportCenter + (snapToItemPadding / 2);
|
|
1239
|
+
} else if ([scrollSnapAlign isEqualToString:@"end"]) {
|
|
1240
|
+
targetOffset = (focusedOrigin + focusedSize) - viewportSize + snapToItemPadding;
|
|
1241
|
+
} else {
|
|
1242
|
+
targetOffset = currentOffset;
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
// Apply snap-to-interval if configured
|
|
1246
|
+
if (scrollView.snapToInterval > 0) {
|
|
1247
|
+
CGFloat interval = scrollView.snapToInterval;
|
|
1248
|
+
targetOffset = floor(targetOffset / interval) * interval;
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
// Clamp to valid range
|
|
1252
|
+
CGFloat maxOffset = MAX(maxContentSize - viewportSize, 0);
|
|
1253
|
+
targetOffset = MAX(0, MIN(targetOffset, maxOffset));
|
|
1254
|
+
CGPoint targetContentOffset = isHorizontalSnap
|
|
1255
|
+
? CGPointMake(targetOffset, scrollView.contentOffset.y)
|
|
1256
|
+
: CGPointMake(scrollView.contentOffset.x, targetOffset);
|
|
1257
|
+
self.preferredContentOffset = targetContentOffset;
|
|
1258
|
+
[_scrollView setContentOffset:targetContentOffset animated:scrollProps.scrollAnimationEnabled];
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1152
1261
|
- (void)didUpdateFocusInContext:(UIFocusUpdateContext *)context
|
|
1153
1262
|
withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator
|
|
1154
1263
|
{
|
|
1155
|
-
|
|
1264
|
+
self.preferredContentOffset = NO_PREFERRED_CONTENT_OFFSET;
|
|
1265
|
+
const auto &scrollProps = static_cast<const ScrollViewProps &>(*_props);
|
|
1266
|
+
BOOL hasItemSnapAlignment = scrollProps.snapToAlignment == ScrollViewSnapToAlignment::Item;
|
|
1267
|
+
if (context.previouslyFocusedView == context.nextFocusedView) {
|
|
1156
1268
|
return;
|
|
1157
1269
|
}
|
|
1158
|
-
if (
|
|
1270
|
+
if (!_props->isTVSelectable && !hasItemSnapAlignment) {
|
|
1271
|
+
if (!scrollProps.scrollAnimationEnabled && [context.nextFocusedView isDescendantOfView:_scrollView]) {
|
|
1272
|
+
// When animations are disabled and there's no snap alignment, manually scroll
|
|
1273
|
+
// the focused view into view instantly. We can't let UIScrollView's default
|
|
1274
|
+
// focus handling do this because it uses deceleration (timer-based) that can't
|
|
1275
|
+
// be blocked by the animation-blocking layer.
|
|
1276
|
+
CGRect targetRect = [context.nextFocusedView convertRect:context.nextFocusedView.bounds toView:_scrollView];
|
|
1277
|
+
[_scrollView scrollRectToVisible:targetRect animated:NO];
|
|
1278
|
+
}
|
|
1279
|
+
return;
|
|
1280
|
+
}
|
|
1281
|
+
if (_props->isTVSelectable && context.nextFocusedView == self) {
|
|
1159
1282
|
[self becomeFirstResponder];
|
|
1160
1283
|
[self addSwipeGestureRecognizers];
|
|
1161
1284
|
[self sendFocusEvent];
|
|
1162
1285
|
// if we enter the scroll view from different view then block first touch event since it is the event that triggered the focus
|
|
1163
1286
|
_blockFirstTouch = (unsigned long)context.focusHeading != 0;
|
|
1164
1287
|
[self addArrowsListeners];
|
|
1165
|
-
} else if (context.previouslyFocusedView == self) {
|
|
1288
|
+
} else if (_props->isTVSelectable && context.previouslyFocusedView == self) {
|
|
1166
1289
|
[self removeArrowsListeners];
|
|
1167
1290
|
[self sendBlurEvent];
|
|
1168
1291
|
[self removeSwipeGestureRecognizers];
|
|
@@ -1185,6 +1308,8 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
|
|
|
1185
1308
|
[self scrollToHorizontalOffset:scrollView.contentSize.width];
|
|
1186
1309
|
}
|
|
1187
1310
|
}
|
|
1311
|
+
} else if ([context.nextFocusedView isDescendantOfView:_scrollView]) {
|
|
1312
|
+
[self _handleScrollSnapForFocusedView:context.nextFocusedView];
|
|
1188
1313
|
}
|
|
1189
1314
|
}
|
|
1190
1315
|
|
|
@@ -1318,10 +1443,16 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
|
|
|
1318
1443
|
limitedOffset = MAX(limitedOffset, 0.0);
|
|
1319
1444
|
limitedOffset = MIN(limitedOffset, maxOffset);
|
|
1320
1445
|
|
|
1321
|
-
|
|
1446
|
+
const auto &scrollProps = static_cast<const ScrollViewProps &>(*self->_props);
|
|
1447
|
+
if (scrollProps.scrollAnimationEnabled) {
|
|
1448
|
+
[UIView animateWithDuration:[self swipeDuration] animations:^{
|
|
1449
|
+
self.scrollView.contentOffset =
|
|
1450
|
+
CGPointMake(self.scrollView.contentOffset.x, limitedOffset);
|
|
1451
|
+
}];
|
|
1452
|
+
} else {
|
|
1322
1453
|
self.scrollView.contentOffset =
|
|
1323
1454
|
CGPointMake(self.scrollView.contentOffset.x, limitedOffset);
|
|
1324
|
-
}
|
|
1455
|
+
}
|
|
1325
1456
|
});
|
|
1326
1457
|
}
|
|
1327
1458
|
|
|
@@ -1342,10 +1473,16 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
|
|
|
1342
1473
|
limitedOffset = MAX(limitedOffset, 0.0);
|
|
1343
1474
|
limitedOffset = MIN(limitedOffset, maxOffset);
|
|
1344
1475
|
|
|
1345
|
-
|
|
1476
|
+
const auto &scrollProps = static_cast<const ScrollViewProps &>(*self->_props);
|
|
1477
|
+
if (scrollProps.scrollAnimationEnabled) {
|
|
1478
|
+
[UIView animateWithDuration:[self swipeDuration] animations:^{
|
|
1479
|
+
self.scrollView.contentOffset =
|
|
1480
|
+
CGPointMake(limitedOffset, self.scrollView.contentOffset.y);
|
|
1481
|
+
}];
|
|
1482
|
+
} else {
|
|
1346
1483
|
self.scrollView.contentOffset =
|
|
1347
1484
|
CGPointMake(limitedOffset, self.scrollView.contentOffset.y);
|
|
1348
|
-
}
|
|
1485
|
+
}
|
|
1349
1486
|
});
|
|
1350
1487
|
}
|
|
1351
1488
|
|
|
@@ -18,17 +18,22 @@
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook::react;
|
|
20
20
|
|
|
21
|
+
@interface RCTSwitchComponentView () <RCTSwitchViewProtocol>
|
|
22
|
+
@end
|
|
23
|
+
|
|
21
24
|
#if TARGET_OS_TV
|
|
22
25
|
|
|
23
|
-
@implementation RCTSwitchComponentView
|
|
26
|
+
@implementation RCTSwitchComponentView {
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
- (void)setValue:(BOOL)value
|
|
30
|
+
{
|
|
31
|
+
}
|
|
24
32
|
|
|
25
33
|
@end
|
|
26
34
|
|
|
27
35
|
#else
|
|
28
36
|
|
|
29
|
-
@interface RCTSwitchComponentView () <RCTSwitchViewProtocol>
|
|
30
|
-
@end
|
|
31
|
-
|
|
32
37
|
@implementation RCTSwitchComponentView {
|
|
33
38
|
UISwitch *_switchView;
|
|
34
39
|
BOOL _isInitialValueSet;
|
|
@@ -135,7 +140,7 @@ using namespace facebook::react;
|
|
|
135
140
|
|
|
136
141
|
@end
|
|
137
142
|
|
|
138
|
-
#endif
|
|
143
|
+
#endif
|
|
139
144
|
|
|
140
145
|
Class<RCTComponentViewProtocol> RCTSwitchCls(void)
|
|
141
146
|
{
|
|
@@ -39,6 +39,9 @@ using namespace facebook::react;
|
|
|
39
39
|
|
|
40
40
|
@property (nonatomic, nullable) UIEditMenuInteraction *editMenuInteraction API_AVAILABLE(ios(16.0));
|
|
41
41
|
|
|
42
|
+
@end
|
|
43
|
+
#else
|
|
44
|
+
@interface RCTParagraphComponentView ()
|
|
42
45
|
@end
|
|
43
46
|
#endif
|
|
44
47
|
|
|
@@ -282,6 +285,7 @@ using namespace facebook::react;
|
|
|
282
285
|
|
|
283
286
|
#pragma mark - Context Menu
|
|
284
287
|
|
|
288
|
+
#if !TARGET_OS_TV
|
|
285
289
|
- (void)enableContextMenu
|
|
286
290
|
{
|
|
287
291
|
#if !TARGET_OS_TV
|
|
@@ -367,6 +371,15 @@ using namespace facebook::react;
|
|
|
367
371
|
pasteboard.items = @[ item ];
|
|
368
372
|
#endif
|
|
369
373
|
}
|
|
374
|
+
#else
|
|
375
|
+
- (void)enableContextMenu
|
|
376
|
+
{
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
- (void)disableContextMenu
|
|
380
|
+
{
|
|
381
|
+
}
|
|
382
|
+
#endif
|
|
370
383
|
|
|
371
384
|
@end
|
|
372
385
|
|
|
@@ -30,18 +30,15 @@ static const CGFloat kSingleLineKeyboardBottomOffset = 15.0;
|
|
|
30
30
|
|
|
31
31
|
using namespace facebook::react;
|
|
32
32
|
|
|
33
|
-
#if TARGET_OS_TV
|
|
34
33
|
@interface RCTTextInputComponentView () <
|
|
35
34
|
RCTBackedTextInputDelegate,
|
|
36
|
-
RCTTextInputViewProtocol
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
RCTBackedTextInputDelegate,
|
|
41
|
-
RCTTextInputViewProtocol,
|
|
42
|
-
UIDropInteractionDelegate>
|
|
43
|
-
@end
|
|
35
|
+
RCTTextInputViewProtocol
|
|
36
|
+
#if !TARGET_OS_TV
|
|
37
|
+
,
|
|
38
|
+
UIDropInteractionDelegate
|
|
44
39
|
#endif
|
|
40
|
+
>
|
|
41
|
+
@end
|
|
45
42
|
|
|
46
43
|
static NSSet<NSNumber *> *returnKeyTypesSet;
|
|
47
44
|
|
|
@@ -225,7 +222,7 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
|
|
|
225
222
|
RCTUITextViewDataDetectorTypesFromStringVector(newTextInputProps.traits.dataDetectorTypes);
|
|
226
223
|
}
|
|
227
224
|
#endif
|
|
228
|
-
|
|
225
|
+
|
|
229
226
|
if (newTextInputProps.traits.enablesReturnKeyAutomatically !=
|
|
230
227
|
oldTextInputProps.traits.enablesReturnKeyAutomatically) {
|
|
231
228
|
_backedTextInputView.enablesReturnKeyAutomatically = newTextInputProps.traits.enablesReturnKeyAutomatically;
|
|
@@ -692,11 +689,10 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
|
|
|
692
689
|
action:@selector(handleInputAccessoryDoneButton)];
|
|
693
690
|
toolbarView.items = @[ flexibleSpace, doneButton ];
|
|
694
691
|
_backedTextInputView.inputAccessoryView = toolbarView;
|
|
695
|
-
} else
|
|
696
|
-
#endif
|
|
697
|
-
{
|
|
692
|
+
} else {
|
|
698
693
|
_backedTextInputView.inputAccessoryView = nil;
|
|
699
694
|
}
|
|
695
|
+
#endif
|
|
700
696
|
|
|
701
697
|
if (_backedTextInputView.isFirstResponder) {
|
|
702
698
|
[_backedTextInputView reloadInputViews];
|
|
@@ -41,6 +41,8 @@ UITextInputPasswordRules *RCTUITextInputPasswordRulesFromString(const std::strin
|
|
|
41
41
|
|
|
42
42
|
UITextSmartInsertDeleteType RCTUITextSmartInsertDeleteTypeFromOptionalBool(std::optional<bool> smartInsertDelete);
|
|
43
43
|
|
|
44
|
+
#if !TARGET_OS_TV
|
|
44
45
|
UIDataDetectorTypes RCTUITextViewDataDetectorTypesFromStringVector(const std::vector<std::string> &dataDetectorTypes);
|
|
46
|
+
#endif
|
|
45
47
|
|
|
46
48
|
NS_ASSUME_NONNULL_END
|
|
@@ -271,6 +271,7 @@ UITextSmartInsertDeleteType RCTUITextSmartInsertDeleteTypeFromOptionalBool(std::
|
|
|
271
271
|
: UITextSmartInsertDeleteTypeDefault;
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
+
#if !TARGET_OS_TV
|
|
274
275
|
UIDataDetectorTypes RCTUITextViewDataDetectorTypesFromStringVector(const std::vector<std::string> &dataDetectorTypes)
|
|
275
276
|
{
|
|
276
277
|
#if TARGET_OS_TV
|
|
@@ -302,3 +303,4 @@ UIDataDetectorTypes RCTUITextViewDataDetectorTypesFromStringVector(const std::ve
|
|
|
302
303
|
return ret;
|
|
303
304
|
#endif
|
|
304
305
|
}
|
|
306
|
+
#endif
|
|
@@ -80,6 +80,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
80
80
|
@property(nonatomic, nullable) UIFocusGuide *focusGuideLeft;
|
|
81
81
|
@property(nonatomic, nullable) UIFocusGuide *focusGuideRight;
|
|
82
82
|
@property(nonatomic, nullable, strong) RCTTVRemoteSelectHandler *tvRemoteSelectHandler;
|
|
83
|
+
|
|
84
|
+
- (NSString *)scrollSnapAlign;
|
|
83
85
|
#endif
|
|
84
86
|
|
|
85
87
|
/**
|
|
@@ -87,6 +87,7 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
87
87
|
BOOL _trapFocusRight;
|
|
88
88
|
NSArray* _focusDestinations;
|
|
89
89
|
id<UIFocusItem> _previouslyFocusedItem;
|
|
90
|
+
NSString *_scrollSnapAlign;
|
|
90
91
|
RCTSwiftUIContainerViewWrapper *_swiftUIWrapper;
|
|
91
92
|
BOOL _shouldFocusOnMount;
|
|
92
93
|
}
|
|
@@ -103,6 +104,9 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
103
104
|
if (self = [super initWithFrame:frame]) {
|
|
104
105
|
_props = ViewShadowNode::defaultSharedProps();
|
|
105
106
|
_reactSubviews = [NSMutableArray new];
|
|
107
|
+
#if !TARGET_OS_TV
|
|
108
|
+
self.multipleTouchEnabled = YES;
|
|
109
|
+
#endif
|
|
106
110
|
_useCustomContainerView = NO;
|
|
107
111
|
_removeClippedSubviews = NO;
|
|
108
112
|
#if TARGET_OS_TV
|
|
@@ -116,8 +120,6 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
116
120
|
_tvParallaxProperties.pressDelay = 0.0f;
|
|
117
121
|
|
|
118
122
|
_shouldFocusOnMount = false;
|
|
119
|
-
#else
|
|
120
|
-
self.multipleTouchEnabled = YES;
|
|
121
123
|
#endif
|
|
122
124
|
}
|
|
123
125
|
return self;
|
|
@@ -441,6 +443,13 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
441
443
|
_motionEffectsAdded = NO;
|
|
442
444
|
}
|
|
443
445
|
|
|
446
|
+
- (NSString *)scrollSnapAlign
|
|
447
|
+
{
|
|
448
|
+
#if TARGET_OS_TV
|
|
449
|
+
return _scrollSnapAlign;
|
|
450
|
+
#endif
|
|
451
|
+
return nil;
|
|
452
|
+
}
|
|
444
453
|
|
|
445
454
|
- (BOOL)isTVFocusGuide
|
|
446
455
|
{
|
|
@@ -912,6 +921,7 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
912
921
|
#if !TARGET_OS_TV
|
|
913
922
|
// `accessibilityShowsLargeContentViewer`
|
|
914
923
|
if (oldViewProps.accessibilityShowsLargeContentViewer != newViewProps.accessibilityShowsLargeContentViewer) {
|
|
924
|
+
#if !TARGET_OS_TV
|
|
915
925
|
if (@available(iOS 13.0, *)) {
|
|
916
926
|
if (newViewProps.accessibilityShowsLargeContentViewer) {
|
|
917
927
|
self.showsLargeContentViewer = YES;
|
|
@@ -921,13 +931,16 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
921
931
|
self.showsLargeContentViewer = NO;
|
|
922
932
|
}
|
|
923
933
|
}
|
|
934
|
+
#endif
|
|
924
935
|
}
|
|
925
936
|
|
|
926
937
|
// `accessibilityLargeContentTitle`
|
|
927
938
|
if (oldViewProps.accessibilityLargeContentTitle != newViewProps.accessibilityLargeContentTitle) {
|
|
939
|
+
#if !TARGET_OS_TV
|
|
928
940
|
if (@available(iOS 13.0, *)) {
|
|
929
941
|
self.largeContentTitle = RCTNSStringFromStringNilIfEmpty(newViewProps.accessibilityLargeContentTitle);
|
|
930
942
|
}
|
|
943
|
+
#endif
|
|
931
944
|
}
|
|
932
945
|
#endif
|
|
933
946
|
|
|
@@ -1170,6 +1183,15 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
1170
1183
|
_trapFocusDown = newViewProps.trapFocusDown;
|
|
1171
1184
|
_trapFocusLeft = newViewProps.trapFocusLeft;
|
|
1172
1185
|
_trapFocusRight = newViewProps.trapFocusRight;
|
|
1186
|
+
|
|
1187
|
+
// `scrollSnapAlign`
|
|
1188
|
+
if (oldViewProps.scrollSnapAlign != newViewProps.scrollSnapAlign) {
|
|
1189
|
+
if (newViewProps.scrollSnapAlign.has_value()) {
|
|
1190
|
+
_scrollSnapAlign = [[NSString alloc] initWithUTF8String:newViewProps.scrollSnapAlign.value().c_str()];
|
|
1191
|
+
} else {
|
|
1192
|
+
_scrollSnapAlign = nil;
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1173
1195
|
#endif
|
|
1174
1196
|
|
|
1175
1197
|
_needsInvalidateLayer = _needsInvalidateLayer || needsInvalidateLayer;
|
|
@@ -1195,6 +1217,12 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
1195
1217
|
// re-applying individual sub-values which weren't changed.
|
|
1196
1218
|
[super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:_layoutMetrics];
|
|
1197
1219
|
|
|
1220
|
+
// Capture the frame size that was used by updateProps to resolve the
|
|
1221
|
+
// transform, before overwriting _layoutMetrics. This is important because
|
|
1222
|
+
// _layoutMetrics may be stale (e.g., from a recycled view) and differ from
|
|
1223
|
+
// the oldLayoutMetrics parameter (which comes from the shadow tree).
|
|
1224
|
+
auto previousFrameSize = _layoutMetrics.frame.size;
|
|
1225
|
+
|
|
1198
1226
|
_layoutMetrics = layoutMetrics;
|
|
1199
1227
|
_needsInvalidateLayer = YES;
|
|
1200
1228
|
|
|
@@ -1212,8 +1240,12 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
1212
1240
|
_backgroundColorLayer.frame = CGRectMake(0, 0, self.layer.bounds.size.width, self.layer.bounds.size.height);
|
|
1213
1241
|
}
|
|
1214
1242
|
|
|
1243
|
+
// Recompute the transform whenever the layout size differs from what was
|
|
1244
|
+
// used in updateProps. Using previousFrameSize (the stored _layoutMetrics)
|
|
1245
|
+
// instead of the oldLayoutMetrics parameter ensures correctness even when
|
|
1246
|
+
// the view was recycled with stale dimensions.
|
|
1215
1247
|
if ((_props->transformOrigin.isSet() || !_props->transform.operations.empty()) &&
|
|
1216
|
-
layoutMetrics.frame.size !=
|
|
1248
|
+
layoutMetrics.frame.size != previousFrameSize) {
|
|
1217
1249
|
auto newTransform = _props->resolveTransform(layoutMetrics);
|
|
1218
1250
|
self.layer.transform = RCTCATransform3DFromTransformMatrix(newTransform);
|
|
1219
1251
|
}
|
|
@@ -1297,6 +1329,7 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
|
|
|
1297
1329
|
_isJSResponder = NO;
|
|
1298
1330
|
_removeClippedSubviews = NO;
|
|
1299
1331
|
_reactSubviews = [NSMutableArray new];
|
|
1332
|
+
_layoutMetrics = {};
|
|
1300
1333
|
}
|
|
1301
1334
|
|
|
1302
1335
|
- (void)setPropKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN:(NSSet<NSString *> *_Nullable)props
|
|
@@ -1588,7 +1621,8 @@ static RCTBorderStyle RCTBorderStyleFromOutlineStyle(OutlineStyle outlineStyle)
|
|
|
1588
1621
|
layer.shadowPath = nil;
|
|
1589
1622
|
}
|
|
1590
1623
|
|
|
1591
|
-
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) &&
|
|
1624
|
+
#if !TARGET_OS_TV && defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && \
|
|
1625
|
+
__IPHONE_OS_VERSION_MAX_ALLOWED >= 170000 /* __IPHONE_17_0 */
|
|
1592
1626
|
// Stage 1.5. Cursor / Hover Effects
|
|
1593
1627
|
if (@available(iOS 17.0, *)) {
|
|
1594
1628
|
UIHoverStyle *hoverStyle = nil;
|
|
@@ -2009,6 +2043,10 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
|
|
|
2009
2043
|
// Result string is initialized lazily to prevent useless but costly allocations.
|
|
2010
2044
|
NSMutableString *result = nil;
|
|
2011
2045
|
for (UIView *subview in view.subviews) {
|
|
2046
|
+
// Skip subviews that have accessibilityElementsHidden set to YES
|
|
2047
|
+
if (subview.accessibilityElementsHidden) {
|
|
2048
|
+
continue;
|
|
2049
|
+
}
|
|
2012
2050
|
NSString *label = subview.accessibilityLabel;
|
|
2013
2051
|
if (!label) {
|
|
2014
2052
|
label = RCTRecursiveAccessibilityLabel(subview);
|
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
#import <UIKit/UIKit.h>
|
|
9
9
|
|
|
10
10
|
#import <React/RCTViewComponentView.h>
|
|
11
|
+
#import <React/RCTVirtualViewProtocol.h>
|
|
11
12
|
|
|
12
13
|
NS_ASSUME_NONNULL_BEGIN
|
|
13
14
|
|
|
14
|
-
@interface RCTVirtualViewComponentView : RCTViewComponentView
|
|
15
|
+
@interface RCTVirtualViewComponentView : RCTViewComponentView <RCTVirtualViewProtocol>
|
|
15
16
|
|
|
16
17
|
+ (instancetype)new NS_UNAVAILABLE;
|
|
17
18
|
- (instancetype)init NS_UNAVAILABLE;
|