react-native-tvos 0.75.4-0 → 0.76.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Alert/Alert.js +3 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +7 -7
- package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
- package/Libraries/Animated/animations/Animation.js +11 -1
- package/Libraries/Animated/animations/DecayAnimation.js +1 -1
- package/Libraries/Animated/animations/SpringAnimation.js +1 -1
- package/Libraries/Animated/animations/TimingAnimation.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
- package/Libraries/Animated/createAnimatedComponent.js +10 -9
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
- package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
- package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
- package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
- package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
- package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
- package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
- package/Libraries/Animated/useAnimatedProps.js +142 -7
- package/Libraries/AppDelegate/RCTAppDelegate.h +10 -5
- package/Libraries/AppDelegate/RCTAppDelegate.mm +24 -50
- package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -23
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -26
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/URL.js +2 -62
- package/Libraries/Blob/URLSearchParams.js +71 -0
- package/Libraries/Blob/URLSearchParams.js.flow +23 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -36
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +132 -171
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -1
- package/Libraries/Components/TV/TVTextScrollView.js +1 -1
- package/Libraries/Components/TV/TVViewPropTypes.js +1 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
- package/Libraries/Components/TextInput/TextInput.js +230 -94
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +23 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
- package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
- package/Libraries/Components/View/ViewNativeComponent.js +5 -1
- package/Libraries/Components/View/ViewPropTypes.js +14 -0
- package/Libraries/Core/ExceptionsManager.js +2 -0
- package/Libraries/Core/InitializeCore.js +3 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpDeveloperTools.js +5 -1
- package/Libraries/Core/setUpErrorHandling.js +7 -1
- package/Libraries/Core/setUpGlobals.js +1 -0
- package/Libraries/Core/setUpReactRefresh.js +0 -4
- package/Libraries/Image/AssetSourceResolver.js +28 -1
- package/Libraries/Image/Image.android.js +9 -14
- package/Libraries/Image/Image.ios.js +11 -22
- package/Libraries/Image/ImageBackground.js +1 -8
- package/Libraries/Image/ImageUtils.js +9 -9
- package/Libraries/Image/ImageViewNativeComponent.js +1 -0
- package/Libraries/Image/RCTImageLoader.mm +19 -10
- package/Libraries/Image/RCTImageView.mm +2 -2
- package/Libraries/Image/RCTResizeMode.h +28 -0
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/Inspector.js +3 -2
- package/Libraries/Inspector/InspectorPanel.js +16 -10
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/TaskQueue.js +1 -0
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/SectionList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/LogBox/Data/LogBoxData.js +24 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
- package/Libraries/Modal/Modal.js +0 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -1
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -1
- package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
- package/Libraries/NativeComponent/TVViewConfig.js +4 -0
- package/Libraries/Network/RCTNetworkTask.h +1 -1
- package/Libraries/Network/RCTNetworkTask.mm +13 -9
- package/Libraries/Network/RCTNetworking.mm +6 -0
- package/Libraries/Network/XMLHttpRequest.js +4 -2
- package/Libraries/Pressability/Pressability.js +37 -0
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/ReactNative/AppContainer-dev.js +1 -5
- package/Libraries/ReactNative/AppContainer-prod.js +1 -5
- package/Libraries/ReactNative/AppContainer.js +0 -1
- package/Libraries/ReactNative/AppRegistry.js +0 -6
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
- package/Libraries/ReactNative/RendererImplementation.js +26 -4
- package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
- package/Libraries/ReactNative/renderApplication.js +0 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +152 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
- package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
- package/Libraries/StyleSheet/processBoxShadow.js +209 -0
- package/Libraries/StyleSheet/processFilter.js +231 -42
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
- package/Libraries/Text/RCTTextAttributes.h +1 -0
- package/Libraries/Text/RCTTextAttributes.mm +8 -0
- package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
- package/Libraries/Text/Text.js +394 -196
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
- package/Libraries/Text/TextNativeComponent.js +2 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
- package/Libraries/Types/CodegenTypes.js +3 -1
- package/Libraries/Utilities/Appearance.js +108 -84
- package/Libraries/Utilities/DevLoadingView.js +2 -4
- package/Libraries/Utilities/HMRClient.js +8 -6
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +0 -9
- package/Libraries/Utilities/stringifyViewConfig.js +22 -0
- package/Libraries/Utilities/useColorScheme.js +3 -3
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +6 -5
- package/README.md +38 -26
- package/React/Base/RCTBridge.mm +20 -2
- package/React/Base/RCTBundleURLProvider.h +19 -0
- package/React/Base/RCTBundleURLProvider.mm +62 -8
- package/React/Base/RCTConvert.h +0 -3
- package/React/Base/RCTConvert.mm +0 -13
- package/React/Base/RCTKeyCommands.m +1 -2
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTAppearance.mm +5 -0
- package/React/CoreModules/RCTDevLoadingView.mm +5 -0
- package/React/CoreModules/RCTDevMenu.mm +1 -1
- package/React/CoreModules/RCTDeviceInfo.mm +15 -8
- package/React/CoreModules/RCTPerfMonitor.mm +7 -13
- package/React/CoreModules/RCTRedBox.mm +4 -0
- package/React/CoreModules/RCTStatusBarManager.mm +5 -1
- package/React/CoreModules/React-CoreModules.podspec +3 -1
- package/React/CxxBridge/NSDataBigString.mm +2 -25
- package/React/CxxBridge/RCTCxxBridge.mm +27 -5
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
- package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
- package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
- package/React/DevSupport/RCTInspectorUtils.h +26 -0
- package/React/DevSupport/RCTInspectorUtils.mm +50 -0
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +24 -2
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +160 -10
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
- package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
- package/React/Fabric/RCTScheduler.mm +2 -1
- package/React/Fabric/RCTSurfacePresenter.mm +0 -31
- package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
- package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
- package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
- package/React/Views/RCTBorderDrawing.h +9 -5
- package/React/Views/RCTBorderDrawing.m +29 -17
- package/React/Views/RCTModalHostView.m +1 -1
- package/React/Views/RCTModalHostViewController.m +1 -1
- package/React/Views/RCTModalHostViewManager.m +23 -3
- package/React/Views/RCTView.m +9 -5
- package/React/Views/RCTViewManager.h +3 -0
- package/React/Views/RCTViewManager.m +64 -8
- package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
- package/React/Views/ScrollView/RCTScrollView.m +20 -0
- package/React-Core.podspec +4 -1
- package/ReactAndroid/api/ReactAndroid.api +623 -268
- package/ReactAndroid/build.gradle.kts +109 -278
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +1 -2
- package/ReactAndroid/publish.gradle +1 -1
- package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
- package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +37 -4
- package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +179 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
- package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +29 -10
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -38
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +222 -184
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +119 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +41 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +151 -83
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +80 -99
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +81 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +66 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +87 -26
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +158 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
- package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
- package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
- package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
- package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
- package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
- package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
- package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
- package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
- package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
- package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
- package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
- package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
- package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
- package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
- package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
- package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
- package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
- package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
- package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
- package/ReactCommon/cxxreact/CxxModule.h +0 -2
- package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
- package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
- package/ReactCommon/cxxreact/ReactMarker.h +5 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/SystraceSection.h +15 -10
- package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
- package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
- package/ReactCommon/jsc/CMakeLists.txt +5 -3
- package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
- package/ReactCommon/jsi/jsi/decorator.h +57 -4
- package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
- package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
- package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
- package/ReactCommon/jsinspector-modern/Base64.h +98 -0
- package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
- package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
- package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
- package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
- package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
- package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
- package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
- package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
- package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
- package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
- package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
- package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
- package/ReactCommon/logger/CMakeLists.txt +1 -1
- package/ReactCommon/react/bridging/Bool.h +1 -1
- package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
- package/ReactCommon/react/config/CMakeLists.txt +1 -1
- package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
- package/ReactCommon/react/debug/CMakeLists.txt +1 -1
- package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
- package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
- package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
- package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -22
- package/ReactCommon/react/renderer/animations/utils.h +45 -0
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
- package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
- package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
- package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
- package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +115 -75
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
- package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
- package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
- package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
- package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
- package/ReactCommon/react/renderer/core/EventListener.h +1 -1
- package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
- package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
- package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
- package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
- package/ReactCommon/react/renderer/core/Props.h +5 -0
- package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
- package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
- package/ReactCommon/react/renderer/core/RawProps.h +0 -8
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
- package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
- package/ReactCommon/react/renderer/core/RawValue.h +6 -7
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
- package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
- package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
- package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
- package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
- package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
- package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
- package/ReactCommon/react/renderer/graphics/Color.h +6 -0
- package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
- package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
- package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
- package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
- package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
- package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
- package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
- package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
- package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
- package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
- package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
- package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
- package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
- package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
- package/ReactCommon/react/runtime/TimerManager.h +16 -4
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
- package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
- package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +9 -4
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +18 -7
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +5 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +33 -52
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +6 -3
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +10 -10
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
- package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
- package/ReactCommon/react/timing/CMakeLists.txt +18 -0
- package/ReactCommon/react/timing/React-timing.podspec +44 -0
- package/ReactCommon/react/timing/primitives.h +31 -0
- package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
- package/ReactCommon/react/utils/CMakeLists.txt +1 -1
- package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
- package/ReactCommon/react/utils/CoreFeatures.h +0 -4
- package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
- package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
- package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
- package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
- package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
- package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
- package/ReactCommon/yoga/yoga/config/Config.h +3 -0
- package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
- package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
- package/ReactCommon/yoga/yoga/style/Style.h +18 -0
- package/cli.js +23 -5
- package/flow/jest.js +2 -2
- package/gradle/libs.versions.toml +5 -5
- package/index.js +3 -1
- package/jest/mockComponent.js +4 -1
- package/jest/mockModal.js +1 -3
- package/jest/mockScrollView.js +1 -1
- package/jest/renderer.js +2 -2
- package/jest/setup.js +16 -13
- package/package.json +15 -16
- package/react-native.config.js +26 -5
- package/scripts/bundle.js +5 -2
- package/scripts/cocoapods/helpers.rb +73 -6
- package/scripts/cocoapods/new_architecture.rb +17 -3
- package/scripts/cocoapods/privacy_manifest_utils.rb +23 -8
- package/scripts/cocoapods/utils.rb +30 -18
- package/scripts/ios-configure-glog.sh +2 -0
- package/scripts/react_native_pods.rb +73 -2
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +9 -3
- package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -16
- package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -5
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
- package/src/private/animated/NativeAnimatedHelper.js +438 -0
- package/src/private/animated/NativeAnimatedValidation.js +64 -0
- package/src/private/components/HScrollViewNativeComponents.js +56 -0
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +29 -0
- package/src/private/components/VScrollViewNativeComponents.js +48 -0
- package/src/private/components/useSyncOnScroll.js +48 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
- package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
- package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
- package/src/private/setup/setUpDOM.js +28 -0
- package/src/private/setup/setUpIntersectionObserver.js +27 -0
- package/src/private/setup/setUpMutationObserver.js +26 -0
- package/src/private/setup/setUpPerformanceObserver.js +64 -0
- package/src/private/specs/modules/NativeAppearance.js +3 -3
- package/src/private/specs/modules/NativeLinkingManager.js +1 -1
- package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
- package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
- package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
- package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
- package/src/private/webapis/performance/LongTasks.js +39 -0
- package/src/private/webapis/performance/Performance.js +22 -9
- package/src/private/webapis/performance/PerformanceEntry.js +36 -18
- package/src/private/webapis/performance/PerformanceObserver.js +29 -43
- package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
- package/src/private/webapis/performance/UserTiming.js +17 -12
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
- package/third-party-podspecs/DoubleConversion.podspec +4 -1
- package/third-party-podspecs/RCT-Folly.podspec +3 -1
- package/third-party-podspecs/boost.podspec +4 -1
- package/third-party-podspecs/fmt.podspec +4 -1
- package/third-party-podspecs/glog.podspec +4 -1
- package/types/experimental.d.ts +12 -98
- package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
- package/Libraries/Core/setUpIntersectionObserver.js +0 -16
- package/Libraries/Core/setUpMutationObserver.js +0 -16
- package/Libraries/Core/setUpPerformanceObserver.js +0 -18
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
- package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
- package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
- package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
- package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
- package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
- package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
- package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
- package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
- package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
- package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
- package/src/private/core/setUpDOM.js +0 -18
- package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
- /package/src/private/{core → styles}/composeStyles.js +0 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Apple TV and Android TV support for React Native are maintained here and in the corresponding `react-native-tvos` NPM package, and not in the [core repo](https://github.com/facebook/react-native/). This is a full fork of the main repository, with only the changes needed to support Apple TV and Android TV.
|
|
4
4
|
|
|
5
|
-
Releases of `react-native-tvos` will be based on a public release of `react-native`; e.g. the 0.
|
|
5
|
+
Releases of `react-native-tvos` will be based on a public release of `react-native`; e.g. the 0.76.0-0 release of this package will be derived from the 0.76.0 release of `react-native`. All releases of this repo will follow the 0.xx.x-y format, where x digits are from a specific RN core release, and y represents the additional versioning from this repo.
|
|
6
6
|
|
|
7
7
|
Releases will be published on npmjs.org and you may find the latest release version here: https://www.npmjs.com/package/react-native-tvos?activeTab=versions or use the tag `@latest`
|
|
8
8
|
|
|
@@ -23,20 +23,29 @@ This README covers only TV-specific features. For more general documentation and
|
|
|
23
23
|
|
|
24
24
|
### Hermes JS support
|
|
25
25
|
|
|
26
|
-
As of the 0.71 release, Hermes is fully working on both Apple TV and Android TV, and is enabled by default.
|
|
26
|
+
- As of the 0.71 release, Hermes is fully working on both Apple TV and Android TV, and is enabled by default.
|
|
27
27
|
|
|
28
28
|
### React Native new architecture (Fabric) support
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
- _Android TV_: To enable Fabric, modify `android/gradle.properties` in your app and set `newArchEnabled=true`, then rebuild your app.
|
|
30
|
+
React Native TV 0.76 enables the New Architecture by default. You can read more about it in this blog post from the RN core team: [The New Architecture Is Here](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here)
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
If, for any reason, the New Architecture is not behaving properly in your application, there is always the option to opt-out from it until you are ready to turn it on again.
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
To opt-out from the New Architecture:
|
|
35
|
+
|
|
36
|
+
- _Expo apps_: RN 0.76 will be supported in SDK 52. See the [SDK 52 beta release notes](https://expo.dev/changelog/2024/10-24-sdk-52-beta) for more information on new arch support in Expo.
|
|
37
|
+
|
|
38
|
+
- _Apple TV_: You can reinstall the dependencies by running the command:
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
RCT_NEW_ARCH_ENABLED=0 bundle exec pod install
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
- _Android TV_: On Android, modify the android/gradle.properties file and turn off the newArchEnabled flag, then do a clean rebuild:
|
|
45
|
+
|
|
46
|
+
```diff
|
|
47
|
+
-newArchEnabled=true
|
|
48
|
+
+newArchEnabled=false
|
|
40
49
|
```
|
|
41
50
|
|
|
42
51
|
### Typescript
|
|
@@ -51,17 +60,19 @@ The RNTester app supports Apple TV and Android TV. In this repo, `RNTester/Podf
|
|
|
51
60
|
|
|
52
61
|
Minimum operating system versions:
|
|
53
62
|
|
|
54
|
-
- Apple TV:
|
|
63
|
+
- Apple TV:
|
|
64
|
+
- tvOS 13.4 (for the 0.74 and 0.75 releases)
|
|
65
|
+
- tvOS 15.1 (for the 0.76 release)
|
|
55
66
|
- Android TV:
|
|
56
|
-
- API level
|
|
57
|
-
- API level
|
|
67
|
+
- API level 23 (for the 0.74 and 0.75 releases)
|
|
68
|
+
- API level 24 (for the 0.76 release)
|
|
58
69
|
|
|
59
70
|
## Build changes
|
|
60
71
|
|
|
61
|
-
- _Native layer for Apple TV_:
|
|
72
|
+
- _Native layer for Apple TV_: Changes in the React Native podspecs (in 0.73 and later) require that your application `Podfile` only have one target. This repo supports either an iOS target or a tvOS target.
|
|
62
73
|
- _Maven artifacts for Android TV_: In 0.71 and later releases, the React Native Android prebuilt archives are published to Maven instead of being included in the NPM. We are following the same model, except that the Maven artifacts will be in group `io.github.react-native-tvos` instead of `com.facebook.react`. The `@react-native/gradle-plugin` module has been upgraded so that the Android dependencies will be detected correctly during build.
|
|
63
74
|
|
|
64
|
-
##
|
|
75
|
+
## TV project creation in React Native 0.75 and later
|
|
65
76
|
|
|
66
77
|
> _Warning:_ Make sure you do not globally install `react-native` or `react-native-tvos`. If you have done this the wrong way, you may get error messages like `ld: library not found for -lPods-TestApp-tvOS`.
|
|
67
78
|
|
|
@@ -81,7 +92,7 @@ As of React Native 0.75.x, the template that used to reside in the `react-native
|
|
|
81
92
|
|
|
82
93
|
> _Note:_ The new TV template will only build apps for Apple TV and Android TV. Multiple platform targets are no longer supported in React Native app Podfiles.
|
|
83
94
|
|
|
84
|
-
To create a new project:
|
|
95
|
+
To create a new project for RNTV 0.76:
|
|
85
96
|
|
|
86
97
|
```sh
|
|
87
98
|
#
|
|
@@ -115,7 +126,7 @@ $ npx @react-native-community/cli@latest init TVTest --template @react-native-tv
|
|
|
115
126
|
###### ######
|
|
116
127
|
|
|
117
128
|
|
|
118
|
-
Welcome to React Native 0.
|
|
129
|
+
Welcome to React Native 0.76!
|
|
119
130
|
Learn once, write anywhere
|
|
120
131
|
|
|
121
132
|
✔ Downloading template
|
|
@@ -135,8 +146,6 @@ npx react-native run-ios --simulator "Apple TV"
|
|
|
135
146
|
npx react-native run:android --device tv_api_31
|
|
136
147
|
```
|
|
137
148
|
|
|
138
|
-
See [this document](https://docs.expo.dev/bare/using-expo-cli/) for more details on Expo CLI functionality. (Note that many of these features require that Expo SDK modules be built into your app. Expo SDK support requires a different project configuration as described below.)
|
|
139
|
-
|
|
140
149
|
## How to support TV specific file extensions
|
|
141
150
|
|
|
142
151
|
The template contains an [example Metro configuration](./packages/react-native/template/metro.config.js) that allows Metro to resolve application source files with TV-specific code, indicated by specific file extensions (e.g. `*.ios.tv.tsx`, `*.android.tv.tsx`, `*.tv.tsx`). The config will work the same way with the other standard source file extensions (`.js`, etc.), as documented in [Metro docs](https://metrobundler.dev/docs/configuration/#sourceexts)
|
|
@@ -169,13 +178,18 @@ var running_on_apple_tv = Platform.isTVOS;
|
|
|
169
178
|
|
|
170
179
|
- _Access to touchable controls_: The `Touchable` mixin has code added to detect focus changes and use existing methods to style the components properly and initiate the proper actions when the view is selected using the TV remote, so `TouchableWithoutFeedback`, `TouchableHighlight` and `TouchableOpacity` will "just work" on both Apple TV and Android TV. In particular:
|
|
171
180
|
|
|
172
|
-
- `onFocus` will be executed when the touchable view goes into focus
|
|
173
|
-
- `onBlur` will be executed when the touchable view goes out of focus
|
|
174
|
-
- `onPress` will be executed when the touchable view is actually selected by pressing the "select" button on the TV remote (center button on Apple TV remote, or center button on Android TV DPad).
|
|
175
|
-
- `onLongPress` will be executed twice if the "select" button is held down for a length of time. The two events passed into `onLongPress()` will have different values for their `eventKeyAction` property, 0 for key down (start) and 1 for key up (end).
|
|
181
|
+
- `onFocus()` will be executed when the touchable view goes into focus
|
|
182
|
+
- `onBlur()` will be executed when the touchable view goes out of focus
|
|
183
|
+
- `onPress()` will be executed when the touchable view is actually selected by pressing the "select" button on the TV remote (center button on Apple TV remote, or center button on Android TV DPad).
|
|
184
|
+
- `onLongPress()` will be executed twice if the "select" button is held down for a length of time. The two events passed into `onLongPress()` will have different values for their `eventKeyAction` property, 0 for key down (start) and 1 for key up (end).
|
|
176
185
|
|
|
177
186
|
- _Pressable controls_: The `Pressable` API works with TV. Additional `onFocus` and `onBlur` props are provided to allow you to customize behavior when a Pressable enters or leaves focus. Similar to the `pressed` state that is true while a user is pressing the component on a touchscreen, the `focused` state will be true when it is focused on TV. `PressableExample` in RNTester has been modified appropriately. The `onPress()` and `onLongPress()` methods work the same way as with `Touchable` components.
|
|
178
187
|
|
|
188
|
+
- _Tailwind styles for Pressable controls_: For the 0.76 release, the `Pressable` component also generates the `onPressIn()` and `onPressOut()` events needed to support the [`active:` pseudo class for Tailwind styles](https://www.nativewind.dev/v4/core-concepts/states#hover-focus-and-active-).
|
|
189
|
+
- For `onPress()` events (the "select" button on the remote is pressed once), `onPressIn()` is generated, then `onPressOut()` is generated a short time later.
|
|
190
|
+
- For `onLongPress()` events (the "select" button on the remote is held down for a length of time), `onPressIn()` is generated once the press down is detected, and `onPressOut()` is generated when the button is released.
|
|
191
|
+
- The `focus:` pseudo class is also supported via the `onFocus()` and `onBlur()` events.
|
|
192
|
+
|
|
179
193
|
- _TV remote/keyboard input_: Application code that needs to implement custom handling of TV remote events can create an instance of `TVEventHandler` and listen for these events. For a more convenient API, we provide `useTVEventHandler`.
|
|
180
194
|
|
|
181
195
|
```javascript
|
|
@@ -244,8 +258,6 @@ class Game2048 extends React.Component {
|
|
|
244
258
|
}
|
|
245
259
|
```
|
|
246
260
|
|
|
247
|
-
- _Flipper_: We do not support Flipper.
|
|
248
|
-
|
|
249
261
|
- _LogBox_: The LogBox error/warning display (which replaced YellowBox in 0.63) is working as expected on TV platforms, after a few adjustments to make the controls accessible to the focus engine.
|
|
250
262
|
|
|
251
263
|
- _Dev Menu support_: On the Apple TV simulator, cmd-D will bring up the developer menu, just like on iOS. To bring it up on a real Apple TV device, make a long press on the play/pause button on the remote. (Please do not shake the Apple TV device, that will not work :) ). Android TV dev menu behavior is the same as on Android phone.
|
|
@@ -259,7 +271,7 @@ class Game2048 extends React.Component {
|
|
|
259
271
|
- `enableTVPanGesture`/`disableTVPanGesture`: Methods to enable and disable detection of finger touches that pan across the touch surface of the Siri remote. See `TVEventHandlerExample` in the `RNTester` app for a demo.
|
|
260
272
|
- `enableGestureHandlersCancelTouches`/`disableGestureHandlersCancelTouches`: Methods to turn on and turn off cancellation of touches by the gesture handlers in `RCTTVRemoteHandler` (see #366). Cancellation of touches is turned on (enabled) by default in 0.69 and earlier releases.
|
|
261
273
|
|
|
262
|
-
-
|
|
274
|
+
- _Accessibility_: We have an additional `accessibilityFocus` [accessibility action](https://reactnative.dev/docs/accessibility#accessibility-actions) on Android that you can use for detecting focus changes on every *accessible* element (like a regular `Text`) when `TalkBack` is enabled.
|
|
263
275
|
|
|
264
276
|
- _TVFocusGuideView_: This component provides support for Apple's `UIFocusGuide` API and is implemented in the same way for Android TV, to help ensure that focusable controls can be navigated to, even if they are not directly in line with other controls. An example is provided in `RNTester` that shows two different ways of using this component.
|
|
265
277
|
|
package/React/Base/RCTBridge.mm
CHANGED
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
#import <jsinspector-modern/ReactCdp.h>
|
|
21
21
|
#import <optional>
|
|
22
22
|
#import "RCTDevLoadingViewProtocol.h"
|
|
23
|
+
#import "RCTInspectorNetworkHelper.h"
|
|
24
|
+
#import "RCTInspectorUtils.h"
|
|
23
25
|
#import "RCTJSThread.h"
|
|
24
26
|
#import "RCTLog.h"
|
|
25
27
|
#import "RCTModuleData.h"
|
|
@@ -181,14 +183,23 @@ void RCTUIManagerSetDispatchAccessibilityManagerInitOntoMain(BOOL enabled)
|
|
|
181
183
|
class RCTBridgeHostTargetDelegate : public facebook::react::jsinspector_modern::HostTargetDelegate {
|
|
182
184
|
public:
|
|
183
185
|
RCTBridgeHostTargetDelegate(RCTBridge *bridge)
|
|
184
|
-
: bridge_(bridge),
|
|
186
|
+
: bridge_(bridge),
|
|
187
|
+
pauseOverlayController_([[RCTPausedInDebuggerOverlayController alloc] init]),
|
|
188
|
+
networkHelper_([[RCTInspectorNetworkHelper alloc] init])
|
|
185
189
|
{
|
|
186
190
|
}
|
|
187
191
|
|
|
188
192
|
facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() override
|
|
189
193
|
{
|
|
194
|
+
auto metadata = [RCTInspectorUtils getHostMetadata];
|
|
195
|
+
|
|
190
196
|
return {
|
|
197
|
+
.appDisplayName = [metadata.appDisplayName UTF8String],
|
|
198
|
+
.appIdentifier = [metadata.appIdentifier UTF8String],
|
|
199
|
+
.deviceName = [metadata.deviceName UTF8String],
|
|
191
200
|
.integrationName = "iOS Bridge (RCTBridge)",
|
|
201
|
+
.platform = [metadata.platform UTF8String],
|
|
202
|
+
.reactNativeVersion = [metadata.reactNativeVersion UTF8String],
|
|
192
203
|
};
|
|
193
204
|
}
|
|
194
205
|
|
|
@@ -221,9 +232,16 @@ class RCTBridgeHostTargetDelegate : public facebook::react::jsinspector_modern::
|
|
|
221
232
|
}
|
|
222
233
|
}
|
|
223
234
|
|
|
235
|
+
void loadNetworkResource(const RCTInspectorLoadNetworkResourceRequest ¶ms, RCTInspectorNetworkExecutor executor)
|
|
236
|
+
override
|
|
237
|
+
{
|
|
238
|
+
[networkHelper_ loadNetworkResourceWithParams:params executor:executor];
|
|
239
|
+
}
|
|
240
|
+
|
|
224
241
|
private:
|
|
225
242
|
__weak RCTBridge *bridge_;
|
|
226
243
|
RCTPausedInDebuggerOverlayController *pauseOverlayController_;
|
|
244
|
+
RCTInspectorNetworkHelper *networkHelper_;
|
|
227
245
|
};
|
|
228
246
|
|
|
229
247
|
@interface RCTBridge () <RCTReloadListener>
|
|
@@ -454,7 +472,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)init)
|
|
|
454
472
|
});
|
|
455
473
|
__weak RCTBridge *weakSelf = self;
|
|
456
474
|
_inspectorPageId = facebook::react::jsinspector_modern::getInspectorInstance().addPage(
|
|
457
|
-
"React Native Bridge
|
|
475
|
+
"React Native Bridge",
|
|
458
476
|
/* vm */ "",
|
|
459
477
|
[weakSelf](std::unique_ptr<facebook::react::jsinspector_modern::IRemoteConnection> remote)
|
|
460
478
|
-> std::unique_ptr<facebook::react::jsinspector_modern::ILocalConnection> {
|
|
@@ -126,6 +126,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
126
126
|
* - modulesOnly: When true, will only send module definitions without polyfills and without the require-runtime.
|
|
127
127
|
* - runModule: When true, will run the main module after defining all modules. This is used in the main bundle but not
|
|
128
128
|
* in split bundles.
|
|
129
|
+
* - additionalOptions: A dictionary of name-value pairs of additional options to pass to the packager.
|
|
129
130
|
*/
|
|
130
131
|
+ (NSURL *__nullable)jsBundleURLForBundleRoot:(NSString *)bundleRoot
|
|
131
132
|
packagerHost:(NSString *)packagerHost
|
|
@@ -133,6 +134,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
133
134
|
enableMinification:(BOOL)enableMinification
|
|
134
135
|
inlineSourceMap:(BOOL)inlineSourceMap;
|
|
135
136
|
|
|
137
|
+
+ (NSURL *__nullable)jsBundleURLForBundleRoot:(NSString *)bundleRoot
|
|
138
|
+
packagerHost:(NSString *)packagerHost
|
|
139
|
+
enableDev:(BOOL)enableDev
|
|
140
|
+
enableMinification:(BOOL)enableMinification
|
|
141
|
+
inlineSourceMap:(BOOL)inlineSourceMap
|
|
142
|
+
additionalOptions:(NSDictionary<NSString *, NSString *> *__nullable)additionalOptions;
|
|
143
|
+
|
|
136
144
|
+ (NSURL *__nullable)jsBundleURLForBundleRoot:(NSString *)bundleRoot
|
|
137
145
|
packagerHost:(NSString *)packagerHost
|
|
138
146
|
packagerScheme:(NSString *__nullable)scheme
|
|
@@ -141,6 +149,17 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
141
149
|
inlineSourceMap:(BOOL)inlineSourceMap
|
|
142
150
|
modulesOnly:(BOOL)modulesOnly
|
|
143
151
|
runModule:(BOOL)runModule;
|
|
152
|
+
|
|
153
|
+
+ (NSURL *__nullable)jsBundleURLForBundleRoot:(NSString *)bundleRoot
|
|
154
|
+
packagerHost:(NSString *)packagerHost
|
|
155
|
+
packagerScheme:(NSString *__nullable)scheme
|
|
156
|
+
enableDev:(BOOL)enableDev
|
|
157
|
+
enableMinification:(BOOL)enableMinification
|
|
158
|
+
inlineSourceMap:(BOOL)inlineSourceMap
|
|
159
|
+
modulesOnly:(BOOL)modulesOnly
|
|
160
|
+
runModule:(BOOL)runModule
|
|
161
|
+
additionalOptions:(NSDictionary<NSString *, NSString *> *__nullable)additionalOptions;
|
|
162
|
+
|
|
144
163
|
/**
|
|
145
164
|
* Given a hostname for the packager and a resource path (including "/"), return the URL to the resource.
|
|
146
165
|
* In general, please use the instance method to decide if the packager is running and fallback to the pre-packaged
|
|
@@ -260,7 +260,26 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
|
|
|
260
260
|
enableMinification:enableMinification
|
|
261
261
|
inlineSourceMap:inlineSourceMap
|
|
262
262
|
modulesOnly:NO
|
|
263
|
-
runModule:YES
|
|
263
|
+
runModule:YES
|
|
264
|
+
additionalOptions:nil];
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
+ (NSURL *__nullable)jsBundleURLForBundleRoot:(NSString *)bundleRoot
|
|
268
|
+
packagerHost:(NSString *)packagerHost
|
|
269
|
+
enableDev:(BOOL)enableDev
|
|
270
|
+
enableMinification:(BOOL)enableMinification
|
|
271
|
+
inlineSourceMap:(BOOL)inlineSourceMap
|
|
272
|
+
additionalOptions:(NSDictionary<NSString *, NSString *> *__nullable)additionalOptions
|
|
273
|
+
{
|
|
274
|
+
return [self jsBundleURLForBundleRoot:bundleRoot
|
|
275
|
+
packagerHost:packagerHost
|
|
276
|
+
packagerScheme:nil
|
|
277
|
+
enableDev:enableDev
|
|
278
|
+
enableMinification:enableMinification
|
|
279
|
+
inlineSourceMap:inlineSourceMap
|
|
280
|
+
modulesOnly:NO
|
|
281
|
+
runModule:YES
|
|
282
|
+
additionalOptions:additionalOptions];
|
|
264
283
|
}
|
|
265
284
|
|
|
266
285
|
+ (NSURL *)jsBundleURLForBundleRoot:(NSString *)bundleRoot
|
|
@@ -271,10 +290,31 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
|
|
|
271
290
|
inlineSourceMap:(BOOL)inlineSourceMap
|
|
272
291
|
modulesOnly:(BOOL)modulesOnly
|
|
273
292
|
runModule:(BOOL)runModule
|
|
293
|
+
{
|
|
294
|
+
return [self jsBundleURLForBundleRoot:bundleRoot
|
|
295
|
+
packagerHost:packagerHost
|
|
296
|
+
packagerScheme:nil
|
|
297
|
+
enableDev:enableDev
|
|
298
|
+
enableMinification:enableMinification
|
|
299
|
+
inlineSourceMap:inlineSourceMap
|
|
300
|
+
modulesOnly:modulesOnly
|
|
301
|
+
runModule:runModule
|
|
302
|
+
additionalOptions:nil];
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
+ (NSURL *__nullable)jsBundleURLForBundleRoot:(NSString *)bundleRoot
|
|
306
|
+
packagerHost:(NSString *)packagerHost
|
|
307
|
+
packagerScheme:(NSString *__nullable)scheme
|
|
308
|
+
enableDev:(BOOL)enableDev
|
|
309
|
+
enableMinification:(BOOL)enableMinification
|
|
310
|
+
inlineSourceMap:(BOOL)inlineSourceMap
|
|
311
|
+
modulesOnly:(BOOL)modulesOnly
|
|
312
|
+
runModule:(BOOL)runModule
|
|
313
|
+
additionalOptions:(NSDictionary<NSString *, NSString *> *__nullable)additionalOptions
|
|
274
314
|
{
|
|
275
315
|
NSString *path = [NSString stringWithFormat:@"/%@.bundle", bundleRoot];
|
|
276
316
|
BOOL lazy = enableDev;
|
|
277
|
-
|
|
317
|
+
NSMutableArray<NSURLQueryItem *> *queryItems = [[NSMutableArray alloc] initWithArray:@[
|
|
278
318
|
[[NSURLQueryItem alloc] initWithName:@"platform" value:RCTPlatformName],
|
|
279
319
|
[[NSURLQueryItem alloc] initWithName:@"dev" value:enableDev ? @"true" : @"false"],
|
|
280
320
|
[[NSURLQueryItem alloc] initWithName:@"lazy" value:lazy ? @"true" : @"false"],
|
|
@@ -282,19 +322,33 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
|
|
|
282
322
|
[[NSURLQueryItem alloc] initWithName:@"inlineSourceMap" value:inlineSourceMap ? @"true" : @"false"],
|
|
283
323
|
[[NSURLQueryItem alloc] initWithName:@"modulesOnly" value:modulesOnly ? @"true" : @"false"],
|
|
284
324
|
[[NSURLQueryItem alloc] initWithName:@"runModule" value:runModule ? @"true" : @"false"],
|
|
285
|
-
];
|
|
325
|
+
]];
|
|
286
326
|
auto &inspectorFlags = facebook::react::jsinspector_modern::InspectorFlags::getInstance();
|
|
287
327
|
if (inspectorFlags.getFuseboxEnabled()) {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
value:@"url-server"]];
|
|
328
|
+
[queryItems addObject:[[NSURLQueryItem alloc] initWithName:@"excludeSource" value:@"true"]];
|
|
329
|
+
[queryItems addObject:[[NSURLQueryItem alloc] initWithName:@"sourcePaths" value:@"url-server"]];
|
|
291
330
|
}
|
|
292
331
|
|
|
293
332
|
NSString *bundleID = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleIdentifierKey];
|
|
294
333
|
if (bundleID) {
|
|
295
|
-
|
|
334
|
+
[queryItems addObject:[[NSURLQueryItem alloc] initWithName:@"app" value:bundleID]];
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
if (additionalOptions) {
|
|
338
|
+
for (NSString *key in additionalOptions) {
|
|
339
|
+
NSString *value = [additionalOptions objectForKey:key];
|
|
340
|
+
if (!value) {
|
|
341
|
+
NSLog(@"RCTBundleURLProvider: Ignoring the additional option: '%@' due to nil value.", key);
|
|
342
|
+
continue;
|
|
343
|
+
}
|
|
344
|
+
[queryItems addObject:[[NSURLQueryItem alloc] initWithName:key value:value]];
|
|
345
|
+
}
|
|
296
346
|
}
|
|
297
|
-
|
|
347
|
+
|
|
348
|
+
return [[self class] resourceURLForResourcePath:path
|
|
349
|
+
packagerHost:packagerHost
|
|
350
|
+
scheme:scheme
|
|
351
|
+
queryItems:[queryItems copy]];
|
|
298
352
|
}
|
|
299
353
|
|
|
300
354
|
+ (NSURL *)resourceURLForResourcePath:(NSString *)path
|
package/React/Base/RCTConvert.h
CHANGED
package/React/Base/RCTConvert.mm
CHANGED
|
@@ -564,19 +564,6 @@ RCT_ENUM_CONVERTER(
|
|
|
564
564
|
UIViewContentModeScaleAspectFill,
|
|
565
565
|
integerValue)
|
|
566
566
|
|
|
567
|
-
#if !TARGET_OS_TV
|
|
568
|
-
RCT_ENUM_CONVERTER(
|
|
569
|
-
UIBarStyle,
|
|
570
|
-
(@{
|
|
571
|
-
@"default" : @(UIBarStyleDefault),
|
|
572
|
-
@"black" : @(UIBarStyleBlack),
|
|
573
|
-
@"blackOpaque" : @(UIBarStyleBlackOpaque),
|
|
574
|
-
@"blackTranslucent" : @(UIBarStyleBlackTranslucent),
|
|
575
|
-
}),
|
|
576
|
-
UIBarStyleDefault,
|
|
577
|
-
integerValue)
|
|
578
|
-
#endif
|
|
579
|
-
|
|
580
567
|
RCT_ENUM_CONVERTER(
|
|
581
568
|
RCTCursor,
|
|
582
569
|
(@{
|
|
@@ -128,9 +128,8 @@ RCT_NOT_IMPLEMENTED(-(instancetype)init)
|
|
|
128
128
|
isKeyDown = [event _isKeyDown];
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
BOOL interactionEnabled = !RCTSharedApplication().isIgnoringInteractionEvents;
|
|
132
131
|
BOOL hasFirstResponder = NO;
|
|
133
|
-
if (isKeyDown && modifiedInput.length > 0
|
|
132
|
+
if (isKeyDown && modifiedInput.length > 0) {
|
|
134
133
|
UIResponder *firstResponder = nil;
|
|
135
134
|
for (UIWindow *window in [self allWindows]) {
|
|
136
135
|
firstResponder = [window valueForKey:@"firstResponder"];
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -22,8 +22,8 @@ NSDictionary* RCTGetReactNativeVersion(void)
|
|
|
22
22
|
dispatch_once(&onceToken, ^(void){
|
|
23
23
|
__rnVersion = @{
|
|
24
24
|
RCTVersionMajor: @(0),
|
|
25
|
-
RCTVersionMinor: @(
|
|
26
|
-
RCTVersionPatch: @(
|
|
25
|
+
RCTVersionMinor: @(76),
|
|
26
|
+
RCTVersionPatch: @(0),
|
|
27
27
|
RCTVersionPrerelease: @"0",
|
|
28
28
|
};
|
|
29
29
|
});
|
|
@@ -70,8 +70,13 @@ NSString *RCTColorSchemePreference(UITraitCollection *traitCollection)
|
|
|
70
70
|
return appearances[@(traitCollection.userInterfaceStyle)];
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
if (!traitCollection) {
|
|
74
|
+
traitCollection = [UITraitCollection currentTraitCollection];
|
|
75
|
+
}
|
|
76
|
+
|
|
73
77
|
UIUserInterfaceStyle systemStyle = sUseKeyWindowForSystemStyle ? RCTKeyWindow().traitCollection.userInterfaceStyle
|
|
74
78
|
: traitCollection.userInterfaceStyle;
|
|
79
|
+
|
|
75
80
|
return appearances[@(systemStyle)] ?: RCTAppearanceColorSchemeLight;
|
|
76
81
|
}
|
|
77
82
|
|
|
@@ -119,8 +119,13 @@ RCT_EXPORT_MODULE()
|
|
|
119
119
|
CGFloat windowWidth = window.bounds.size.width;
|
|
120
120
|
|
|
121
121
|
self->_window = [[UIWindow alloc] initWithWindowScene:window.windowScene];
|
|
122
|
+
#if TARGET_OS_MACCATALYST
|
|
123
|
+
self->_window.frame = CGRectMake(0, window.safeAreaInsets.top, windowWidth, 20);
|
|
124
|
+
self->_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, windowWidth, 20)];
|
|
125
|
+
#else
|
|
122
126
|
self->_window.frame = CGRectMake(0, 0, windowWidth, window.safeAreaInsets.top + 10);
|
|
123
127
|
self->_label = [[UILabel alloc] initWithFrame:CGRectMake(0, window.safeAreaInsets.top - 10, windowWidth, 20)];
|
|
128
|
+
#endif
|
|
124
129
|
[self->_window addSubview:self->_label];
|
|
125
130
|
|
|
126
131
|
#if TARGET_OS_TV
|
|
@@ -272,7 +272,7 @@ RCT_EXPORT_MODULE()
|
|
|
272
272
|
BOOL isDisconnected = RCTInspectorDevServerHelper.isPackagerDisconnected;
|
|
273
273
|
NSString *title = isDisconnected
|
|
274
274
|
? [NSString stringWithFormat:@"Connect to %@ to debug JavaScript", RCT_PACKAGER_NAME]
|
|
275
|
-
: @"Open
|
|
275
|
+
: @"Open DevTools";
|
|
276
276
|
RCTDevMenuItem *item = [RCTDevMenuItem
|
|
277
277
|
buttonItemWithTitle:title
|
|
278
278
|
handler:^{
|
|
@@ -27,8 +27,8 @@ using namespace facebook::react;
|
|
|
27
27
|
@implementation RCTDeviceInfo {
|
|
28
28
|
#if !TARGET_OS_TV
|
|
29
29
|
UIInterfaceOrientation _currentInterfaceOrientation;
|
|
30
|
-
NSDictionary *_currentInterfaceDimensions;
|
|
31
30
|
#endif
|
|
31
|
+
NSDictionary *_currentInterfaceDimensions;
|
|
32
32
|
BOOL _isFullscreen;
|
|
33
33
|
BOOL _invalidated;
|
|
34
34
|
}
|
|
@@ -54,11 +54,9 @@ RCT_EXPORT_MODULE()
|
|
|
54
54
|
name:RCTAccessibilityManagerDidUpdateMultiplierNotification
|
|
55
55
|
object:[_moduleRegistry moduleForName:"AccessibilityManager"]];
|
|
56
56
|
|
|
57
|
-
#if !TARGET_OS_TV
|
|
58
|
-
_currentInterfaceOrientation = [RCTSharedApplication() statusBarOrientation];
|
|
59
|
-
|
|
60
57
|
_currentInterfaceDimensions = [self _exportedDimensions];
|
|
61
58
|
|
|
59
|
+
#if !TARGET_OS_TV
|
|
62
60
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
63
61
|
selector:@selector(interfaceOrientationDidChange)
|
|
64
62
|
name:UIApplicationDidBecomeActiveNotification
|
|
@@ -73,10 +71,17 @@ RCT_EXPORT_MODULE()
|
|
|
73
71
|
selector:@selector(interfaceFrameDidChange)
|
|
74
72
|
name:RCTWindowFrameDidChangeNotification
|
|
75
73
|
object:nil];
|
|
74
|
+
#endif
|
|
75
|
+
|
|
76
|
+
#if TARGET_OS_IOS
|
|
77
|
+
|
|
78
|
+
_currentInterfaceOrientation = RCTKeyWindow().windowScene.interfaceOrientation;
|
|
79
|
+
|
|
76
80
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
77
81
|
selector:@selector(interfaceFrameDidChange)
|
|
78
82
|
name:UIDeviceOrientationDidChangeNotification
|
|
79
83
|
object:nil];
|
|
84
|
+
#endif
|
|
80
85
|
|
|
81
86
|
// TODO T175901725 - Registering the RCTDeviceInfo module to the notification is a short-term fix to unblock 0.73
|
|
82
87
|
// The actual behavior should be that the module is properly registered in the TurboModule/Bridge infrastructure
|
|
@@ -87,8 +92,6 @@ RCT_EXPORT_MODULE()
|
|
|
87
92
|
selector:@selector(invalidate)
|
|
88
93
|
name:RCTBridgeWillInvalidateModulesNotification
|
|
89
94
|
object:nil];
|
|
90
|
-
|
|
91
|
-
#endif
|
|
92
95
|
}
|
|
93
96
|
|
|
94
97
|
- (void)invalidate
|
|
@@ -114,7 +117,7 @@ RCT_EXPORT_MODULE()
|
|
|
114
117
|
|
|
115
118
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:RCTBridgeWillInvalidateModulesNotification object:nil];
|
|
116
119
|
|
|
117
|
-
#if
|
|
120
|
+
#if TARGET_OS_IOS
|
|
118
121
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
|
|
119
122
|
#endif
|
|
120
123
|
}
|
|
@@ -124,12 +127,14 @@ static BOOL RCTIsIPhoneNotched()
|
|
|
124
127
|
static BOOL isIPhoneNotched = NO;
|
|
125
128
|
static dispatch_once_t onceToken;
|
|
126
129
|
|
|
130
|
+
#if TARGET_OS_IOS
|
|
127
131
|
dispatch_once(&onceToken, ^{
|
|
128
132
|
RCTAssertMainQueue();
|
|
129
133
|
|
|
130
134
|
// 20pt is the top safeArea value in non-notched devices
|
|
131
135
|
isIPhoneNotched = RCTSharedApplication().keyWindow.safeAreaInsets.top > 20;
|
|
132
136
|
});
|
|
137
|
+
#endif
|
|
133
138
|
|
|
134
139
|
return isIPhoneNotched;
|
|
135
140
|
}
|
|
@@ -215,8 +220,9 @@ static NSDictionary *RCTExportedDimensions(CGFloat fontScale)
|
|
|
215
220
|
|
|
216
221
|
- (void)_interfaceOrientationDidChange
|
|
217
222
|
{
|
|
223
|
+
#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
|
|
218
224
|
UIApplication *application = RCTSharedApplication();
|
|
219
|
-
UIInterfaceOrientation nextOrientation =
|
|
225
|
+
UIInterfaceOrientation nextOrientation = RCTKeyWindow().windowScene.interfaceOrientation;
|
|
220
226
|
|
|
221
227
|
BOOL isRunningInFullScreen =
|
|
222
228
|
CGRectEqualToRect(application.delegate.window.frame, application.delegate.window.screen.bounds);
|
|
@@ -244,6 +250,7 @@ static NSDictionary *RCTExportedDimensions(CGFloat fontScale)
|
|
|
244
250
|
_isFullscreen = isRunningInFullScreen;
|
|
245
251
|
#pragma clang diagnostic pop
|
|
246
252
|
}
|
|
253
|
+
#endif
|
|
247
254
|
}
|
|
248
255
|
|
|
249
256
|
- (void)interfaceFrameDidChange
|
|
@@ -171,23 +171,15 @@ RCT_EXPORT_MODULE()
|
|
|
171
171
|
- (UIView *)container
|
|
172
172
|
{
|
|
173
173
|
if (!_container) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
CGFloat statusBarHeight = statusBarSize.height;
|
|
179
|
-
#endif
|
|
180
|
-
_container = [[UIView alloc] initWithFrame:CGRectMake(10, statusBarHeight, 180, RCTPerfMonitorBarHeight)];
|
|
174
|
+
UIEdgeInsets safeInsets = RCTKeyWindow().safeAreaInsets;
|
|
175
|
+
|
|
176
|
+
_container =
|
|
177
|
+
[[UIView alloc] initWithFrame:CGRectMake(safeInsets.left, safeInsets.top, 180, RCTPerfMonitorBarHeight)];
|
|
181
178
|
_container.layer.borderWidth = 2;
|
|
182
179
|
_container.layer.borderColor = [UIColor lightGrayColor].CGColor;
|
|
183
180
|
[_container addGestureRecognizer:self.gestureRecognizer];
|
|
184
181
|
[_container addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap)]];
|
|
185
182
|
|
|
186
|
-
_container.backgroundColor = [UIColor whiteColor];
|
|
187
|
-
|
|
188
|
-
#if !TARGET_OS_TV
|
|
189
|
-
_container.backgroundColor = [UIColor systemBackgroundColor];
|
|
190
|
-
#endif
|
|
191
183
|
}
|
|
192
184
|
|
|
193
185
|
return _container;
|
|
@@ -455,7 +447,9 @@ RCT_EXPORT_MODULE()
|
|
|
455
447
|
{
|
|
456
448
|
[self loadPerformanceLoggerData];
|
|
457
449
|
if (CGRectIsEmpty(_storedMonitorFrame)) {
|
|
458
|
-
|
|
450
|
+
UIEdgeInsets safeInsets = RCTKeyWindow().safeAreaInsets;
|
|
451
|
+
_storedMonitorFrame =
|
|
452
|
+
CGRectMake(safeInsets.left, safeInsets.top, self.container.window.frame.size.width, RCTPerfMonitorExpandHeight);
|
|
459
453
|
[self.container addSubview:self.metrics];
|
|
460
454
|
} else {
|
|
461
455
|
[_metrics reloadData];
|
|
@@ -221,7 +221,11 @@
|
|
|
221
221
|
|
|
222
222
|
- (NSInteger)bottomSafeViewHeight
|
|
223
223
|
{
|
|
224
|
+
#if TARGET_OS_MACCATALYST
|
|
225
|
+
return 0;
|
|
226
|
+
#else
|
|
224
227
|
return RCTSharedApplication().delegate.window.safeAreaInsets.bottom;
|
|
228
|
+
#endif
|
|
225
229
|
}
|
|
226
230
|
|
|
227
231
|
RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)aDecoder)
|
|
@@ -143,7 +143,7 @@ RCT_EXPORT_METHOD(getHeight : (RCTResponseSenderBlock)callback)
|
|
|
143
143
|
RCT_EXPORT_METHOD(getHeight : (RCTResponseSenderBlock)callback)
|
|
144
144
|
{
|
|
145
145
|
callback(@[ @{
|
|
146
|
-
@"height" : @(
|
|
146
|
+
@"height" : @(RCTUIStatusBarManager().statusBarFrame.size.height),
|
|
147
147
|
} ]);
|
|
148
148
|
}
|
|
149
149
|
|
|
@@ -182,7 +182,11 @@ RCT_EXPORT_METHOD(setHidden : (BOOL)hidden withAnimation : (NSString *)withAnima
|
|
|
182
182
|
RCT_EXPORT_METHOD(setNetworkActivityIndicatorVisible : (BOOL)visible)
|
|
183
183
|
{
|
|
184
184
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
185
|
+
#pragma clang diagnostic push
|
|
186
|
+
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
187
|
+
// This is no longer supported in iOS 13 and later. We will remove this method in a future release.
|
|
185
188
|
RCTSharedApplication().networkActivityIndicatorVisible = visible;
|
|
189
|
+
#pragma clang diagnostic pop
|
|
186
190
|
});
|
|
187
191
|
}
|
|
188
192
|
|
|
@@ -19,7 +19,9 @@ end
|
|
|
19
19
|
folly_config = get_folly_config()
|
|
20
20
|
folly_compiler_flags = folly_config[:compiler_flags]
|
|
21
21
|
folly_version = folly_config[:version]
|
|
22
|
-
|
|
22
|
+
|
|
23
|
+
socket_rocket_config = get_socket_rocket_config()
|
|
24
|
+
socket_rocket_version = socket_rocket_config[:version]
|
|
23
25
|
|
|
24
26
|
header_search_paths = [
|
|
25
27
|
"\"$(PODS_ROOT)/boost\"",
|
|
@@ -9,33 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
namespace facebook::react {
|
|
11
11
|
|
|
12
|
-
static NSData *ensureNullTerminated(NSData *source)
|
|
13
|
-
{
|
|
14
|
-
if (!source || source.length == 0) {
|
|
15
|
-
return nil;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
NSUInteger sourceLength = source.length;
|
|
19
|
-
unsigned char lastByte;
|
|
20
|
-
[source getBytes:&lastByte range:NSMakeRange(sourceLength - 1, 1)];
|
|
21
|
-
|
|
22
|
-
// TODO: bundles from the packager should always include a NULL byte
|
|
23
|
-
// or we should we relax this requirement and only read as much from the
|
|
24
|
-
// buffer as length indicates
|
|
25
|
-
if (lastByte == '\0') {
|
|
26
|
-
return source;
|
|
27
|
-
} else {
|
|
28
|
-
NSMutableData *data = [source mutableCopy];
|
|
29
|
-
unsigned char nullByte = '\0';
|
|
30
|
-
[data appendBytes:&nullByte length:1];
|
|
31
|
-
return data;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
12
|
NSDataBigString::NSDataBigString(NSData *data)
|
|
36
13
|
{
|
|
37
|
-
m_data =
|
|
38
|
-
m_length =
|
|
14
|
+
m_data = data;
|
|
15
|
+
m_length = [m_data length];
|
|
39
16
|
}
|
|
40
17
|
|
|
41
18
|
} // namespace facebook::react
|