@depup/react-native 0.84.1-depup.2 → 0.85.0-depup.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/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.mm +1 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +8 -0
- 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 +8 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
- package/Libraries/Components/ScrollView/ScrollView.js +19 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
- 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/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 +8 -8
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
- 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/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +14 -14
- 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 +14 -16
- 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/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 +5 -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 +25 -4
- 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 -35
- 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 +6 -3
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +10 -2
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +26 -2
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +2 -2
- 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 +6 -9
- package/React/Base/RCTBridge.mm +1 -1
- package/React/Base/RCTBundleURLProvider.mm +29 -8
- package/React/Base/RCTConvert.mm +6 -0
- package/React/Base/RCTDefines.h +0 -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/RCTUtils.mm +20 -1
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTActionSheetManager.mm +28 -3
- package/React/CoreModules/RCTClipboard.mm +6 -0
- package/React/CoreModules/RCTDevLoadingView.mm +1 -1
- package/React/CoreModules/RCTDevSettings.mm +8 -0
- package/React/CoreModules/RCTDeviceInfo.mm +6 -3
- package/React/CoreModules/RCTKeyboardObserver.mm +11 -0
- package/React/CoreModules/RCTLogBoxView.mm +4 -0
- package/React/CoreModules/RCTPerfMonitor.mm +4 -0
- package/React/CoreModules/RCTRedBox.mm +4 -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 +13 -5
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +14 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +18 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +7 -0
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +15 -0
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +15 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +10 -2
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +2 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +4 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +24 -2
- 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 -7
- package/React/Fabric/RCTSurfacePresenter.mm +9 -0
- package/React/Fabric/RCTSurfaceTouchHandler.mm +4 -0
- 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/RCTRedBoxExtraDataViewController.m +2 -0
- package/React/Modules/RCTUIManager.mm +2 -2
- package/React/Profiler/RCTProfile.m +4 -0
- package/React/React-RCTFabric.podspec +3 -0
- package/React/Views/RCTComponentData.mm +2 -0
- package/React/Views/RCTView.m +6 -1
- package/React/Views/RCTViewManager.m +4 -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 +14 -20
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +74 -107
- 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/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 +28 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +5 -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 +28 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +2 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +5 -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 +58 -108
- 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 +17 -59
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +3 -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 +25 -37
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +56 -83
- 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/ScrollViewState.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/primitives.h +1 -10
- 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/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 +1 -63
- 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 +5 -0
- 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/changes.json +5 -17
- 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 +20 -32
- 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 +48 -81
- 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_generated/Libraries/Animated/useAnimatedColor.d.ts +16 -0
- package/types_generated/Libraries/Animated/useAnimatedValueXY.d.ts +18 -0
- package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +4 -2
- package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +9 -1
- package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +3 -1
- package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +2 -1
- package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +4 -4
- package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +25 -42
- package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +4 -8
- package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +1 -6
- package/types_generated/Libraries/Text/Text.d.ts +8 -3
- package/types_generated/Libraries/Text/TextNativeComponent.d.ts +3 -1
- package/types_generated/index.d.ts +6 -2
- package/types_generated/src/private/components/virtualview/VirtualView.d.ts +3 -3
- package/types_generated/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.d.ts +107 -0
- 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
|
@@ -75,7 +75,7 @@ void RawPropsKeyMap::reindex() noexcept {
|
|
|
75
75
|
|
|
76
76
|
buckets_.resize(kPropNameLengthHardCap);
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
RawPropsPropNameLength length = 0;
|
|
79
79
|
for (size_t i = 0; i < items_.size(); i++) {
|
|
80
80
|
auto& item = items_[i];
|
|
81
81
|
if (item.length != length) {
|
|
@@ -96,6 +96,9 @@ RawPropsValueIndex RawPropsKeyMap::at(
|
|
|
96
96
|
RawPropsPropNameLength length) noexcept {
|
|
97
97
|
react_native_assert(length > 0);
|
|
98
98
|
react_native_assert(length < kPropNameLengthHardCap);
|
|
99
|
+
if (length == 0 || length >= kPropNameLengthHardCap) [[unlikely]] {
|
|
100
|
+
return kRawPropsValueIndexEmpty;
|
|
101
|
+
}
|
|
99
102
|
// 1. Find the bucket.
|
|
100
103
|
auto lower = int{buckets_[length - 1]};
|
|
101
104
|
auto upper = int{buckets_[length]} - 1;
|
|
@@ -136,13 +136,7 @@ void RawPropsParser::preparse(const RawProps& rawProps) const noexcept {
|
|
|
136
136
|
rawProps.keyIndexToValueIndex_[keyIndex] = valueIndex;
|
|
137
137
|
|
|
138
138
|
auto value = object.getProperty(runtime, nameValue);
|
|
139
|
-
|
|
140
|
-
if (useRawPropsJsiValue_) {
|
|
141
|
-
rawValue = RawValue(runtime, std::move(value));
|
|
142
|
-
} else {
|
|
143
|
-
rawValue = RawValue(jsi::dynamicFromValue(runtime, value));
|
|
144
|
-
}
|
|
145
|
-
rawProps.values_.push_back(std::move(rawValue));
|
|
139
|
+
rawProps.values_.emplace_back(runtime, std::move(value));
|
|
146
140
|
valueIndex++;
|
|
147
141
|
}
|
|
148
142
|
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
|
-
#include <react/featureflags/ReactNativeFeatureFlags.h>
|
|
11
10
|
#include <react/renderer/core/Props.h>
|
|
12
11
|
#include <react/renderer/core/PropsParserContext.h>
|
|
13
12
|
#include <react/renderer/core/RawProps.h>
|
|
@@ -27,11 +26,9 @@ class RawPropsParser final {
|
|
|
27
26
|
/*
|
|
28
27
|
* Default constructor.
|
|
29
28
|
* To be used by `ConcreteComponentDescriptor` only.
|
|
30
|
-
* If `useRawPropsJsiValue` is `true`, the parser will use `jsi::Value`
|
|
31
|
-
* directly for RawValues instead of converting them to `folly::dynamic`.
|
|
32
29
|
*/
|
|
33
|
-
RawPropsParser(
|
|
34
|
-
|
|
30
|
+
RawPropsParser() = default;
|
|
31
|
+
[[deprecated]] explicit RawPropsParser(bool /* ignored */) : RawPropsParser() {}
|
|
35
32
|
|
|
36
33
|
/*
|
|
37
34
|
* To be used by `ConcreteComponentDescriptor` only.
|
|
@@ -59,7 +56,6 @@ class RawPropsParser final {
|
|
|
59
56
|
template <class ShadowNodeT>
|
|
60
57
|
friend class ConcreteComponentDescriptor;
|
|
61
58
|
friend class RawProps;
|
|
62
|
-
bool useRawPropsJsiValue_{false};
|
|
63
59
|
|
|
64
60
|
/*
|
|
65
61
|
* To be used by `RawProps` only.
|
|
@@ -405,8 +405,7 @@ class RawValue {
|
|
|
405
405
|
static JsiValuePair castValue(const folly::dynamic & /*dynamic*/, JsiValuePair * /*type*/)
|
|
406
406
|
{
|
|
407
407
|
react_native_assert(false);
|
|
408
|
-
throw std::runtime_error(
|
|
409
|
-
"Cannot cast dynamic to a jsi::Value type. Please use the 'useRawPropsJsiValue' feature flag to enable jsi::Value support for RawValues.");
|
|
408
|
+
throw std::runtime_error("Cannot cast dynamic to a jsi::Value type");
|
|
410
409
|
}
|
|
411
410
|
|
|
412
411
|
static JsiValuePair castValue(jsi::Runtime *runtime, const jsi::Value &value, JsiValuePair * /*type*/)
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
#include "ShadowNode.h"
|
|
9
9
|
#include "DynamicPropsUtilities.h"
|
|
10
|
-
#include "ShadowNodeFragment.h"
|
|
11
10
|
|
|
12
11
|
#include <react/debug/react_native_assert.h>
|
|
13
12
|
#include <react/featureflags/ReactNativeFeatureFlags.h>
|
|
@@ -24,7 +23,7 @@ namespace facebook::react {
|
|
|
24
23
|
* Runtime shadow node reference updates should only run from one thread at all
|
|
25
24
|
* times to avoid having more than one shadow tree updating the current fiber
|
|
26
25
|
* tree simultaneously. This thread_local flag allows enabling the updates for
|
|
27
|
-
*
|
|
26
|
+
* chosen threads.
|
|
28
27
|
*/
|
|
29
28
|
thread_local bool useRuntimeShadowNodeReferenceUpdateOnThread{false}; // NOLINT
|
|
30
29
|
|
|
@@ -33,7 +32,12 @@ thread_local bool useRuntimeShadowNodeReferenceUpdateOnThread{false}; // NOLINT
|
|
|
33
32
|
useRuntimeShadowNodeReferenceUpdateOnThread = isEnabled;
|
|
34
33
|
}
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
/* static */ bool ShadowNode::getUseRuntimeShadowNodeReferenceUpdateOnThread() {
|
|
36
|
+
return useRuntimeShadowNodeReferenceUpdateOnThread;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>>
|
|
40
|
+
ShadowNode::emptySharedShadowNodeSharedList() {
|
|
37
41
|
static const auto emptySharedShadowNodeSharedList =
|
|
38
42
|
std::make_shared<std::vector<std::shared_ptr<const ShadowNode>>>();
|
|
39
43
|
return emptySharedShadowNodeSharedList;
|
|
@@ -96,7 +100,7 @@ ShadowNode::ShadowNode(
|
|
|
96
100
|
child->family_->setParent(family_);
|
|
97
101
|
}
|
|
98
102
|
|
|
99
|
-
|
|
103
|
+
propagateUncullableTraitsFromChildren();
|
|
100
104
|
|
|
101
105
|
// The first node of the family gets its state committed automatically.
|
|
102
106
|
family_->setMostRecentState(state_);
|
|
@@ -112,27 +116,20 @@ ShadowNode::ShadowNode(
|
|
|
112
116
|
props_(propsForClonedShadowNode(sourceShadowNode, fragment.props)),
|
|
113
117
|
children_(
|
|
114
118
|
fragment.children ? fragment.children : sourceShadowNode.children_),
|
|
115
|
-
state_(
|
|
116
|
-
fragment.state ? fragment.state
|
|
117
|
-
: (ReactNativeFeatureFlags::useShadowNodeStateOnClone()
|
|
118
|
-
? sourceShadowNode.state_
|
|
119
|
-
: sourceShadowNode.getMostRecentState())),
|
|
119
|
+
state_(fragment.state ? fragment.state : sourceShadowNode.state_),
|
|
120
120
|
orderIndex_(sourceShadowNode.orderIndex_),
|
|
121
121
|
family_(sourceShadowNode.family_),
|
|
122
122
|
traits_(sourceShadowNode.traits_) {
|
|
123
123
|
|
|
124
124
|
react_native_assert(props_);
|
|
125
125
|
react_native_assert(children_);
|
|
126
|
-
|
|
127
|
-
// State could have been progressed above by checking
|
|
128
|
-
// `sourceShadowNode.getMostRecentState()`.
|
|
129
126
|
traits_.set(ShadowNodeTraits::Trait::ChildrenAreShared);
|
|
130
127
|
|
|
131
128
|
if (fragment.children) {
|
|
132
129
|
for (const auto& child : *children_) {
|
|
133
130
|
child->family_->setParent(family_);
|
|
134
131
|
}
|
|
135
|
-
|
|
132
|
+
propagateUncullableTraitsFromChildren();
|
|
136
133
|
}
|
|
137
134
|
}
|
|
138
135
|
|
|
@@ -154,7 +151,7 @@ std::shared_ptr<ShadowNode> ShadowNode::clone(
|
|
|
154
151
|
.state = fragment.state});
|
|
155
152
|
return clonedNode;
|
|
156
153
|
} else {
|
|
157
|
-
// TODO: We might need to merge fragment.
|
|
154
|
+
// TODO: We might need to merge fragment.props with
|
|
158
155
|
// `family.nativeProps_DEPRECATED`.
|
|
159
156
|
return componentDescriptor.cloneShadowNode(*this, fragment);
|
|
160
157
|
}
|
|
@@ -248,7 +245,7 @@ void ShadowNode::appendChild(const std::shared_ptr<const ShadowNode>& child) {
|
|
|
248
245
|
children.push_back(child);
|
|
249
246
|
|
|
250
247
|
child->family_->setParent(family_);
|
|
251
|
-
|
|
248
|
+
propagateUncullableTraitsFromChildren();
|
|
252
249
|
}
|
|
253
250
|
|
|
254
251
|
void ShadowNode::replaceChild(
|
|
@@ -282,7 +279,7 @@ void ShadowNode::replaceChild(
|
|
|
282
279
|
}
|
|
283
280
|
|
|
284
281
|
react_native_assert(false && "Child to replace was not found.");
|
|
285
|
-
|
|
282
|
+
propagateUncullableTraitsFromChildren();
|
|
286
283
|
}
|
|
287
284
|
|
|
288
285
|
void ShadowNode::cloneChildrenIfShared() {
|
|
@@ -295,7 +292,7 @@ void ShadowNode::cloneChildrenIfShared() {
|
|
|
295
292
|
*children_);
|
|
296
293
|
}
|
|
297
294
|
|
|
298
|
-
void ShadowNode::
|
|
295
|
+
void ShadowNode::propagateUncullableTraitsFromChildren() {
|
|
299
296
|
if (ReactNativeFeatureFlags::enableViewCulling()) {
|
|
300
297
|
if (traits_.check(ShadowNodeTraits::Trait::Unstable_uncullableView)) {
|
|
301
298
|
return;
|
|
@@ -346,7 +343,9 @@ void ShadowNode::transferRuntimeShadowNodeReference(
|
|
|
346
343
|
destinationShadowNode->runtimeShadowNodeReference_ =
|
|
347
344
|
runtimeShadowNodeReference_;
|
|
348
345
|
|
|
349
|
-
if (!ReactNativeFeatureFlags::updateRuntimeShadowNodeReferencesOnCommit()
|
|
346
|
+
if (!ReactNativeFeatureFlags::updateRuntimeShadowNodeReferencesOnCommit() &&
|
|
347
|
+
!ReactNativeFeatureFlags::
|
|
348
|
+
updateRuntimeShadowNodeReferencesOnCommitThread()) {
|
|
350
349
|
updateRuntimeShadowNodeReference(destinationShadowNode);
|
|
351
350
|
}
|
|
352
351
|
}
|
|
@@ -355,6 +354,8 @@ void ShadowNode::transferRuntimeShadowNodeReference(
|
|
|
355
354
|
const std::shared_ptr<const ShadowNode>& destinationShadowNode,
|
|
356
355
|
const ShadowNodeFragment& fragment) const {
|
|
357
356
|
if ((ReactNativeFeatureFlags::updateRuntimeShadowNodeReferencesOnCommit() ||
|
|
357
|
+
ReactNativeFeatureFlags::
|
|
358
|
+
updateRuntimeShadowNodeReferencesOnCommitThread() ||
|
|
358
359
|
useRuntimeShadowNodeReferenceUpdateOnThread) &&
|
|
359
360
|
fragment.runtimeShadowNodeReference) {
|
|
360
361
|
transferRuntimeShadowNodeReference(destinationShadowNode);
|
|
@@ -412,17 +413,16 @@ namespace {
|
|
|
412
413
|
|
|
413
414
|
std::shared_ptr<ShadowNode> cloneMultipleRecursive(
|
|
414
415
|
const ShadowNode& shadowNode,
|
|
415
|
-
const std::unordered_map<
|
|
416
|
+
const std::unordered_map<Tag, int>& childrenCount,
|
|
416
417
|
const std::function<std::shared_ptr<
|
|
417
418
|
ShadowNode>(const ShadowNode&, const ShadowNodeFragment&)>& callback) {
|
|
418
|
-
const auto* family = &shadowNode.getFamily();
|
|
419
419
|
auto& children = shadowNode.getChildren();
|
|
420
420
|
std::shared_ptr<std::vector<std::shared_ptr<const ShadowNode>>> newChildren;
|
|
421
|
-
auto count = childrenCount.at(
|
|
421
|
+
auto count = childrenCount.at(shadowNode.getTag());
|
|
422
422
|
|
|
423
423
|
for (size_t i = 0; count > 0 && i < children.size(); i++) {
|
|
424
|
-
const auto
|
|
425
|
-
if (childrenCount.contains(
|
|
424
|
+
const auto childTag = children[i]->getTag();
|
|
425
|
+
if (childrenCount.contains(childTag)) {
|
|
426
426
|
count--;
|
|
427
427
|
if (!newChildren) {
|
|
428
428
|
newChildren =
|
|
@@ -440,37 +440,39 @@ std::shared_ptr<ShadowNode> cloneMultipleRecursive(
|
|
|
440
440
|
} // namespace
|
|
441
441
|
|
|
442
442
|
std::shared_ptr<ShadowNode> ShadowNode::cloneMultiple(
|
|
443
|
-
const std::unordered_set<const ShadowNodeFamily
|
|
443
|
+
const std::unordered_set<std::shared_ptr<const ShadowNodeFamily>>&
|
|
444
|
+
familiesToUpdate,
|
|
444
445
|
const std::function<std::shared_ptr<ShadowNode>(
|
|
445
446
|
const ShadowNode& oldShadowNode,
|
|
446
447
|
const ShadowNodeFragment& fragment)>& callback) const {
|
|
447
|
-
std::unordered_map<
|
|
448
|
+
std::unordered_map<Tag, int> childrenCount;
|
|
448
449
|
|
|
449
450
|
for (const auto& family : familiesToUpdate) {
|
|
450
|
-
if (childrenCount.contains(family)) {
|
|
451
|
+
if (childrenCount.contains(family->getTag())) {
|
|
451
452
|
continue;
|
|
452
453
|
}
|
|
453
454
|
|
|
454
|
-
childrenCount[family] = 0;
|
|
455
|
+
childrenCount[family->getTag()] = 0;
|
|
455
456
|
|
|
456
457
|
auto ancestor = family->parent_.lock();
|
|
457
458
|
while ((ancestor != nullptr) && ancestor != family_) {
|
|
458
|
-
auto
|
|
459
|
+
auto ancestorTag = ancestor->getTag();
|
|
460
|
+
auto ancestorIt = childrenCount.find(ancestorTag);
|
|
459
461
|
if (ancestorIt != childrenCount.end()) {
|
|
460
462
|
ancestorIt->second++;
|
|
461
463
|
break;
|
|
462
464
|
}
|
|
463
|
-
childrenCount[
|
|
465
|
+
childrenCount[ancestorTag] = 1;
|
|
464
466
|
|
|
465
467
|
ancestor = ancestor->parent_.lock();
|
|
466
468
|
}
|
|
467
469
|
|
|
468
470
|
if (ancestor == family_) {
|
|
469
|
-
childrenCount[ancestor
|
|
471
|
+
childrenCount[ancestor->getTag()]++;
|
|
470
472
|
}
|
|
471
473
|
}
|
|
472
474
|
|
|
473
|
-
if (childrenCount.
|
|
475
|
+
if (!childrenCount.contains(getTag())) {
|
|
474
476
|
return nullptr;
|
|
475
477
|
}
|
|
476
478
|
|
|
@@ -30,26 +30,19 @@ struct ShadowNodeWrapper;
|
|
|
30
30
|
|
|
31
31
|
class ShadowNode : public Sealable, public DebugStringConvertible, public jsi::NativeState {
|
|
32
32
|
public:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
using
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
std::vector<std::shared_ptr<const ShadowNode>>;
|
|
42
|
-
// TODO(T223558094): delete this in the next version.
|
|
43
|
-
using ListOfWeak [[deprecated("Use std::vector<std::weak_ptr<const ShadowNode>> instead")]] =
|
|
44
|
-
std::vector<std::weak_ptr<const ShadowNode>>;
|
|
45
|
-
using SharedListOfShared = std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>>;
|
|
46
|
-
using UnsharedListOfShared = std::shared_ptr<std::vector<std::shared_ptr<const ShadowNode>>>;
|
|
47
|
-
using UnsharedListOfWeak = std::shared_ptr<std::vector<std::weak_ptr<const ShadowNode>>>;
|
|
33
|
+
using SharedListOfShared
|
|
34
|
+
[[deprecated("Use std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>> instead")]] =
|
|
35
|
+
std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>>;
|
|
36
|
+
using UnsharedListOfShared
|
|
37
|
+
[[deprecated("Use std::shared_ptr<std::vector<std::shared_ptr<const ShadowNode>>> instead")]] =
|
|
38
|
+
std::shared_ptr<std::vector<std::shared_ptr<const ShadowNode>>>;
|
|
39
|
+
using UnsharedListOfWeak [[deprecated("Use std::shared_ptr<std::vector<std::weak_ptr<const ShadowNode>>> instead")]] =
|
|
40
|
+
std::shared_ptr<std::vector<std::weak_ptr<const ShadowNode>>>;
|
|
48
41
|
|
|
49
42
|
using AncestorList =
|
|
50
43
|
std::vector<std::pair<std::reference_wrapper<const ShadowNode> /* parentNode */, int /* childIndex */>>;
|
|
51
44
|
|
|
52
|
-
static
|
|
45
|
+
static std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>> emptySharedShadowNodeSharedList();
|
|
53
46
|
|
|
54
47
|
/*
|
|
55
48
|
* Returns `true` if nodes belong to the same family (they were cloned one
|
|
@@ -68,6 +61,8 @@ class ShadowNode : public Sealable, public DebugStringConvertible, public jsi::N
|
|
|
68
61
|
|
|
69
62
|
static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled);
|
|
70
63
|
|
|
64
|
+
static bool getUseRuntimeShadowNodeReferenceUpdateOnThread();
|
|
65
|
+
|
|
71
66
|
#pragma mark - Constructors
|
|
72
67
|
|
|
73
68
|
/*
|
|
@@ -114,7 +109,7 @@ class ShadowNode : public Sealable, public DebugStringConvertible, public jsi::N
|
|
|
114
109
|
* Returns `nullptr` if the operation cannot be performed successfully.
|
|
115
110
|
*/
|
|
116
111
|
std::shared_ptr<ShadowNode> cloneMultiple(
|
|
117
|
-
const std::unordered_set<const ShadowNodeFamily
|
|
112
|
+
const std::unordered_set<std::shared_ptr<const ShadowNodeFamily>> &familiesToUpdate,
|
|
118
113
|
const std::function<
|
|
119
114
|
std::shared_ptr<ShadowNode>(const ShadowNode &oldShadowNode, const ShadowNodeFragment &fragment)> &callback)
|
|
120
115
|
const;
|
|
@@ -236,7 +231,7 @@ class ShadowNode : public Sealable, public DebugStringConvertible, public jsi::N
|
|
|
236
231
|
|
|
237
232
|
protected:
|
|
238
233
|
Props::Shared props_;
|
|
239
|
-
|
|
234
|
+
std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>> children_;
|
|
240
235
|
State::Shared state_;
|
|
241
236
|
int orderIndex_;
|
|
242
237
|
|
|
@@ -250,13 +245,13 @@ class ShadowNode : public Sealable, public DebugStringConvertible, public jsi::N
|
|
|
250
245
|
void cloneChildrenIfShared();
|
|
251
246
|
|
|
252
247
|
/*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
248
|
+
* Propagates uncullable traits from children to this node.
|
|
249
|
+
* If view culling is enabled and any child has the Unstable_uncullableView
|
|
250
|
+
* or Unstable_uncullableTrace trait, this node will also be marked as
|
|
251
|
+
* uncullable. This ensures that if a child needs to be rendered, its parent
|
|
252
|
+
* will be too.
|
|
258
253
|
*/
|
|
259
|
-
void
|
|
254
|
+
void propagateUncullableTraitsFromChildren();
|
|
260
255
|
|
|
261
256
|
/*
|
|
262
257
|
* Transfer the runtime reference to this `ShadowNode` to a new instance,
|
|
@@ -275,11 +270,6 @@ class ShadowNode : public Sealable, public DebugStringConvertible, public jsi::N
|
|
|
275
270
|
*/
|
|
276
271
|
mutable std::atomic<bool> hasBeenMounted_{false};
|
|
277
272
|
|
|
278
|
-
/*
|
|
279
|
-
* True if shadow node has been promoted to be the next mounted tree.
|
|
280
|
-
*/
|
|
281
|
-
mutable bool hasBeenPromoted_{false};
|
|
282
|
-
|
|
283
273
|
static Props::Shared propsForClonedShadowNode(const ShadowNode &sourceShadowNode, const Props::Shared &props);
|
|
284
274
|
|
|
285
275
|
protected:
|
|
@@ -33,7 +33,7 @@ ShadowNodeFamily::ShadowNodeFamily(
|
|
|
33
33
|
componentHandle_(componentDescriptor.getComponentHandle()),
|
|
34
34
|
componentName_(componentDescriptor.getComponentName()) {}
|
|
35
35
|
|
|
36
|
-
void ShadowNodeFamily::setParent(const ShadowNodeFamily::Shared& parent)
|
|
36
|
+
void ShadowNodeFamily::setParent(const ShadowNodeFamily::Shared& parent) {
|
|
37
37
|
react_native_assert(parent_.lock() == nullptr || parent_.lock() == parent);
|
|
38
38
|
if (hasParent_) {
|
|
39
39
|
return;
|
|
@@ -59,7 +59,7 @@ ComponentName ShadowNodeFamily::getComponentName() const {
|
|
|
59
59
|
return componentName_;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
void ShadowNodeFamily::setMounted()
|
|
62
|
+
void ShadowNodeFamily::setMounted() {
|
|
63
63
|
hasBeenMounted_ = true;
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -68,7 +68,7 @@ const ComponentDescriptor& ShadowNodeFamily::getComponentDescriptor() const {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
void ShadowNodeFamily::onUnmountedFamilyDestroyed(
|
|
71
|
-
std::function<void(const ShadowNodeFamily& family)> callback)
|
|
71
|
+
std::function<void(const ShadowNodeFamily& family)> callback) {
|
|
72
72
|
onUnmountedFamilyDestroyedCallback_ = std::move(callback);
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -89,7 +89,7 @@ InstanceHandle::Shared ShadowNodeFamily::getInstanceHandle() const {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
void ShadowNodeFamily::setInstanceHandle(
|
|
92
|
-
InstanceHandle::Shared& instanceHandle)
|
|
92
|
+
InstanceHandle::Shared& instanceHandle) {
|
|
93
93
|
instanceHandle_ = instanceHandle;
|
|
94
94
|
}
|
|
95
95
|
|
|
@@ -144,7 +144,7 @@ State::Shared ShadowNodeFamily::getMostRecentState() const {
|
|
|
144
144
|
return mostRecentState_;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
void ShadowNodeFamily::setMostRecentState(const State::Shared& state)
|
|
147
|
+
void ShadowNodeFamily::setMostRecentState(const State::Shared& state) {
|
|
148
148
|
std::unique_lock lock(mutex_);
|
|
149
149
|
|
|
150
150
|
/*
|
|
@@ -175,7 +175,7 @@ std::shared_ptr<const State> ShadowNodeFamily::getMostRecentStateIfObsolete(
|
|
|
175
175
|
|
|
176
176
|
void ShadowNodeFamily::dispatchRawState(
|
|
177
177
|
StateUpdate&& stateUpdate,
|
|
178
|
-
EventQueue::UpdateMode updateMode)
|
|
178
|
+
EventQueue::UpdateMode updateMode) {
|
|
179
179
|
auto eventDispatcher = eventDispatcher_.lock();
|
|
180
180
|
if (!eventDispatcher) {
|
|
181
181
|
return;
|
|
@@ -41,8 +41,8 @@ struct ShadowNodeFamilyFragment {
|
|
|
41
41
|
*/
|
|
42
42
|
class ShadowNodeFamily final : public jsi::NativeState {
|
|
43
43
|
public:
|
|
44
|
-
using Shared = std::shared_ptr<
|
|
45
|
-
using Weak = std::weak_ptr<
|
|
44
|
+
using Shared = std::shared_ptr<ShadowNodeFamily>;
|
|
45
|
+
using Weak = std::weak_ptr<ShadowNodeFamily>;
|
|
46
46
|
|
|
47
47
|
using AncestorList =
|
|
48
48
|
std::vector<std::pair<std::reference_wrapper<const ShadowNode> /* parentNode */, int /* childIndex */>>;
|
|
@@ -58,7 +58,7 @@ class ShadowNodeFamily final : public jsi::NativeState {
|
|
|
58
58
|
* This is not technically thread-safe, but practically it mutates the object
|
|
59
59
|
* only once (and the model enforces that this first call is not concurrent).
|
|
60
60
|
*/
|
|
61
|
-
void setParent(const ShadowNodeFamily::Shared &parent)
|
|
61
|
+
void setParent(const ShadowNodeFamily::Shared &parent);
|
|
62
62
|
|
|
63
63
|
/*
|
|
64
64
|
* Returns a handle (or name) associated with the component.
|
|
@@ -90,23 +90,23 @@ class ShadowNodeFamily final : public jsi::NativeState {
|
|
|
90
90
|
* @param callback will be executed when an unmounted instance of
|
|
91
91
|
* ShadowNodeFamily is destroyed.
|
|
92
92
|
*/
|
|
93
|
-
void onUnmountedFamilyDestroyed(std::function<void(const ShadowNodeFamily &family)> callback)
|
|
93
|
+
void onUnmountedFamilyDestroyed(std::function<void(const ShadowNodeFamily &family)> callback);
|
|
94
94
|
|
|
95
95
|
/*
|
|
96
96
|
* Sets and gets the most recent state.
|
|
97
97
|
*/
|
|
98
98
|
std::shared_ptr<const State> getMostRecentState() const;
|
|
99
|
-
void setMostRecentState(const std::shared_ptr<const State> &state)
|
|
99
|
+
void setMostRecentState(const std::shared_ptr<const State> &state);
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
102
|
* Mark this ShadowNodeFamily as mounted.
|
|
103
103
|
*/
|
|
104
|
-
void setMounted()
|
|
104
|
+
void setMounted();
|
|
105
105
|
|
|
106
106
|
/*
|
|
107
107
|
* Dispatches a state update with given priority.
|
|
108
108
|
*/
|
|
109
|
-
void dispatchRawState(StateUpdate &&stateUpdate, EventQueue::UpdateMode updateMode)
|
|
109
|
+
void dispatchRawState(StateUpdate &&stateUpdate, EventQueue::UpdateMode updateMode);
|
|
110
110
|
|
|
111
111
|
/*
|
|
112
112
|
* Holds currently applied native props. `nullptr` if setNativeProps API is
|
|
@@ -122,7 +122,7 @@ class ShadowNodeFamily final : public jsi::NativeState {
|
|
|
122
122
|
|
|
123
123
|
jsi::Value getInstanceHandle(jsi::Runtime &runtime) const;
|
|
124
124
|
InstanceHandle::Shared getInstanceHandle() const;
|
|
125
|
-
void setInstanceHandle(InstanceHandle::Shared &instanceHandle)
|
|
125
|
+
void setInstanceHandle(InstanceHandle::Shared &instanceHandle);
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
128
|
* Override destructor to call onUnmountedFamilyDestroyedCallback() for
|
|
@@ -142,10 +142,10 @@ class ShadowNodeFamily final : public jsi::NativeState {
|
|
|
142
142
|
std::shared_ptr<const State> getMostRecentStateIfObsolete(const State &state) const;
|
|
143
143
|
|
|
144
144
|
EventDispatcher::Weak eventDispatcher_;
|
|
145
|
-
|
|
145
|
+
std::shared_ptr<const State> mostRecentState_;
|
|
146
146
|
mutable std::shared_mutex mutex_;
|
|
147
147
|
|
|
148
|
-
|
|
148
|
+
std::function<void(ShadowNodeFamily &family)> onUnmountedFamilyDestroyedCallback_ = nullptr;
|
|
149
149
|
|
|
150
150
|
/*
|
|
151
151
|
* Deprecated.
|
|
@@ -160,7 +160,7 @@ class ShadowNodeFamily final : public jsi::NativeState {
|
|
|
160
160
|
/*
|
|
161
161
|
* Weak reference to the React instance handle
|
|
162
162
|
*/
|
|
163
|
-
|
|
163
|
+
InstanceHandle::Shared instanceHandle_;
|
|
164
164
|
|
|
165
165
|
/*
|
|
166
166
|
* `EventEmitter` associated with all nodes of the family.
|
|
@@ -184,18 +184,18 @@ class ShadowNodeFamily final : public jsi::NativeState {
|
|
|
184
184
|
/*
|
|
185
185
|
* Points to a family of all parent nodes of all nodes of the family.
|
|
186
186
|
*/
|
|
187
|
-
|
|
187
|
+
ShadowNodeFamily::Weak parent_{};
|
|
188
188
|
|
|
189
189
|
/*
|
|
190
190
|
* Represents a case where `parent_` is `nullptr`.
|
|
191
191
|
* For optimization purposes only.
|
|
192
192
|
*/
|
|
193
|
-
|
|
193
|
+
bool hasParent_{false};
|
|
194
194
|
|
|
195
195
|
/*
|
|
196
196
|
* Determines if the ShadowNodeFamily was ever mounted on the screen.
|
|
197
197
|
*/
|
|
198
|
-
|
|
198
|
+
bool hasBeenMounted_{false};
|
|
199
199
|
};
|
|
200
200
|
|
|
201
201
|
} // namespace facebook::react
|
|
@@ -20,9 +20,11 @@ const Props::Shared& ShadowNodeFragment::propsPlaceholder() {
|
|
|
20
20
|
return instance;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
const ShadowNode
|
|
23
|
+
const std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>>&
|
|
24
24
|
ShadowNodeFragment::childrenPlaceholder() {
|
|
25
|
-
NO_DESTROY static
|
|
25
|
+
NO_DESTROY static std::shared_ptr<
|
|
26
|
+
const std::vector<std::shared_ptr<const ShadowNode>>>
|
|
27
|
+
instance;
|
|
26
28
|
return instance;
|
|
27
29
|
}
|
|
28
30
|
|
|
@@ -24,7 +24,7 @@ namespace facebook::react {
|
|
|
24
24
|
*/
|
|
25
25
|
struct ShadowNodeFragment {
|
|
26
26
|
const Props::Shared &props = propsPlaceholder();
|
|
27
|
-
const
|
|
27
|
+
const std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>> &children = childrenPlaceholder();
|
|
28
28
|
const State::Shared &state = statePlaceholder();
|
|
29
29
|
const bool runtimeShadowNodeReference = true;
|
|
30
30
|
|
|
@@ -34,7 +34,7 @@ struct ShadowNodeFragment {
|
|
|
34
34
|
* be changed.
|
|
35
35
|
*/
|
|
36
36
|
static const Props::Shared &propsPlaceholder();
|
|
37
|
-
static const
|
|
37
|
+
static const std::shared_ptr<const std::vector<std::shared_ptr<const ShadowNode>>> &childrenPlaceholder();
|
|
38
38
|
static const State::Shared &statePlaceholder();
|
|
39
39
|
};
|
|
40
40
|
|
|
@@ -316,7 +316,7 @@ TEST_F(ShadowNodeTest, handleRuntimeReferenceTransferOnClone) {
|
|
|
316
316
|
TEST_F(ShadowNodeTest, cloneMultiple) {
|
|
317
317
|
auto newProps = std::make_shared<const TestProps>();
|
|
318
318
|
auto newRoot = nodeA_->cloneMultiple(
|
|
319
|
-
{
|
|
319
|
+
{nodeA_->getFamilyShared(), nodeAB_->getFamilyShared()},
|
|
320
320
|
[&](const ShadowNode& oldShadowNode, const ShadowNodeFragment& fragment) {
|
|
321
321
|
return oldShadowNode.clone({
|
|
322
322
|
.props = newProps,
|
|
@@ -346,7 +346,7 @@ TEST_F(ShadowNodeTest, cloneMultiple) {
|
|
|
346
346
|
TEST_F(ShadowNodeTest, cloneMultipleWithSingleFamily) {
|
|
347
347
|
auto newProps = std::make_shared<const TestProps>();
|
|
348
348
|
auto newRoot = nodeA_->cloneMultiple(
|
|
349
|
-
{
|
|
349
|
+
{nodeAB_->getFamilyShared()},
|
|
350
350
|
[&](const ShadowNode& oldShadowNode, const ShadowNodeFragment& fragment) {
|
|
351
351
|
return oldShadowNode.clone({
|
|
352
352
|
.props = newProps,
|
|
@@ -374,3 +374,58 @@ TEST_F(ShadowNodeTest, cloneMultipleWithSingleFamily) {
|
|
|
374
374
|
EXPECT_EQ(newNodeABA->getTag(), nodeABA_->getTag());
|
|
375
375
|
EXPECT_EQ(newNodeABA.get(), nodeABA_.get());
|
|
376
376
|
}
|
|
377
|
+
|
|
378
|
+
TEST_F(ShadowNodeTest, cloneMultipleReturnsNullptrWhenFamilyHasNoPathToRoot) {
|
|
379
|
+
auto newProps = std::make_shared<const TestProps>();
|
|
380
|
+
// nodeZ_ is not part of nodeA_'s tree
|
|
381
|
+
auto result = nodeA_->cloneMultiple(
|
|
382
|
+
{nodeZ_->getFamilyShared()},
|
|
383
|
+
[&](const ShadowNode& oldShadowNode, const ShadowNodeFragment& fragment) {
|
|
384
|
+
return oldShadowNode.clone({
|
|
385
|
+
.props = newProps,
|
|
386
|
+
.children = fragment.children,
|
|
387
|
+
.state = fragment.state,
|
|
388
|
+
});
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
// cloneMultiple should return nullptr when the family has no path to the root
|
|
392
|
+
EXPECT_EQ(result, nullptr);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
TEST_F(ShadowNodeTest, cloneMultipleWithMixOfValidAndInvalidFamilies) {
|
|
396
|
+
auto newProps = std::make_shared<const TestProps>();
|
|
397
|
+
// nodeAB_ is in the tree, nodeZ_ is not
|
|
398
|
+
auto result = nodeA_->cloneMultiple(
|
|
399
|
+
{nodeAB_->getFamilyShared(), nodeZ_->getFamilyShared()},
|
|
400
|
+
[&](const ShadowNode& oldShadowNode, const ShadowNodeFragment& fragment) {
|
|
401
|
+
return oldShadowNode.clone({
|
|
402
|
+
.props = newProps,
|
|
403
|
+
.children = fragment.children,
|
|
404
|
+
.state = fragment.state,
|
|
405
|
+
});
|
|
406
|
+
});
|
|
407
|
+
|
|
408
|
+
// Should still succeed and clone the valid family (nodeAB_)
|
|
409
|
+
EXPECT_NE(result, nullptr);
|
|
410
|
+
EXPECT_EQ(result->getTag(), nodeA_->getTag());
|
|
411
|
+
EXPECT_EQ(result->getProps(), newProps);
|
|
412
|
+
|
|
413
|
+
auto newNodeAB = result->getChildren()[1];
|
|
414
|
+
EXPECT_EQ(newNodeAB->getTag(), nodeAB_->getTag());
|
|
415
|
+
EXPECT_EQ(newNodeAB->getProps(), newProps);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
TEST_F(ShadowNodeTest, cloneMultipleWithEmptyFamilySet) {
|
|
419
|
+
auto newProps = std::make_shared<const TestProps>();
|
|
420
|
+
auto result = nodeA_->cloneMultiple(
|
|
421
|
+
{},
|
|
422
|
+
[&](const ShadowNode& oldShadowNode, const ShadowNodeFragment& fragment) {
|
|
423
|
+
return oldShadowNode.clone({
|
|
424
|
+
.props = newProps,
|
|
425
|
+
.children = fragment.children,
|
|
426
|
+
.state = fragment.state,
|
|
427
|
+
});
|
|
428
|
+
});
|
|
429
|
+
|
|
430
|
+
EXPECT_EQ(result, nullptr);
|
|
431
|
+
}
|