react-native 0.82.0-nightly-20250812-677ee671d → 0.82.0-nightly-20250815-41029d8e9

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.
Files changed (389) hide show
  1. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  2. package/Libraries/Animated/animations/Animation.js +5 -6
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/Libraries/Image/Image.android.js +318 -111
  5. package/Libraries/Image/ImageSourceUtils.js +8 -2
  6. package/Libraries/Interaction/PanResponder.js +1 -1
  7. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +7 -5
  8. package/Libraries/Renderer/README.md +1 -1
  9. package/Libraries/Utilities/Platform.d.ts +1 -0
  10. package/Libraries/Utilities/PlatformTypes.js +1 -1
  11. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  12. package/React/Base/RCTVersion.m +1 -1
  13. package/React/CoreModules/RCTLogBoxView.mm +2 -0
  14. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +1 -0
  15. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +14 -4
  16. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -1
  17. package/ReactAndroid/api/ReactAndroid.api +2 -1
  18. package/ReactAndroid/gradle.properties +1 -1
  19. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +2 -1
  20. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +2 -2
  21. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +2 -2
  22. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +22 -9
  23. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +2 -2
  24. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +3 -1
  25. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +3 -1
  26. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +8 -4
  27. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +2 -1
  28. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +10 -6
  29. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.kt +12 -6
  30. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
  31. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +12 -5
  32. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +3 -2
  33. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +8 -6
  34. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +2 -1
  35. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +1 -1
  36. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +3 -2
  37. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
  38. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +1 -1
  39. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +1 -1
  40. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +7 -5
  41. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +12 -8
  42. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +1 -1
  43. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +1 -1
  44. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +67 -28
  45. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +5 -4
  46. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +1 -1
  47. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +1 -1
  48. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +1 -1
  49. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +1 -1
  50. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +1 -1
  51. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +1 -1
  52. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +3 -2
  53. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +5 -2
  54. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +3 -1
  55. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +4 -4
  56. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +1 -1
  57. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +32 -20
  58. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +1 -1
  59. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.kt +4 -3
  60. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +10 -3
  61. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.kt +5 -4
  62. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +5 -2
  63. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +9 -4
  64. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +2 -1
  65. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +2 -1
  66. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +1 -1
  67. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.kt +2 -1
  68. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +5 -2
  69. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +7 -3
  70. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.kt +4 -4
  71. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.kt +1 -1
  72. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +2 -1
  73. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +3 -1
  74. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +2 -2
  75. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +2 -1
  76. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +3 -1
  77. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -1
  78. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +1 -1
  79. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.kt +9 -6
  80. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.kt +1 -1
  81. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.kt +2 -2
  82. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.kt +4 -2
  83. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.kt +3 -3
  84. package/ReactAndroid/src/main/java/com/facebook/react/common/ReleaseLevel.kt +1 -1
  85. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt +2 -1
  86. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt +2 -1
  87. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogLevel.kt +1 -1
  88. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +4 -3
  89. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +1 -1
  90. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  91. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +12 -6
  92. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +2 -1
  93. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +11 -6
  94. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  95. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +3 -2
  96. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +5 -2
  97. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +8 -4
  98. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +6 -4
  99. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +19 -8
  100. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +13 -5
  101. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +8 -5
  102. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +6 -3
  103. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +8 -3
  104. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +10 -6
  105. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +31 -13
  106. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +37 -19
  107. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +4 -3
  108. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +5 -3
  109. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.kt +1 -1
  110. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +3 -1
  111. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +1 -1
  112. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +2 -2
  113. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +8 -4
  114. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.kt +1 -1
  115. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +2 -1
  116. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +7 -4
  117. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +4 -2
  118. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +4 -4
  119. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +16 -7
  120. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager.kt +1 -1
  121. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +1 -1
  122. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +2 -2
  123. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +9 -4
  124. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +9 -3
  125. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +4 -3
  126. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +1 -1
  127. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +5 -4
  128. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +22 -9
  129. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +18 -12
  130. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +1 -1
  131. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.kt +1 -1
  132. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.kt +1 -1
  133. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +46 -15
  134. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +5 -5
  135. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +9 -3
  136. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +1 -1
  137. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -1
  138. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +10 -5
  139. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +1 -1
  140. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -1
  141. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +24 -16
  142. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +9 -6
  143. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +3 -2
  144. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +6 -3
  145. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +1 -1
  146. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.kt +1 -1
  147. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +4 -3
  148. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +3 -1
  149. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -1
  150. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +2 -2
  151. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +1 -1
  152. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +4 -2
  153. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +15 -7
  154. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +1 -1
  155. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
  156. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
  157. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +2 -2
  158. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +1 -1
  159. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +1 -1
  160. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +10 -4
  161. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +2 -1
  162. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +2 -1
  163. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +6 -5
  164. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +4 -3
  165. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +9 -6
  166. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -1
  167. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +3 -1
  168. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +1 -1
  169. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/InspectorNetworkReporter.kt +2 -2
  170. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +34 -19
  171. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +145 -44
  172. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +1 -1
  173. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +5 -2
  174. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +3 -2
  175. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +7 -4
  176. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +17 -8
  177. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +2 -1
  178. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  179. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +1 -1
  180. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +3 -2
  181. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +1 -1
  182. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +2 -1
  183. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +1 -1
  184. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +1 -1
  185. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +4 -2
  186. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +13 -5
  187. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +7 -4
  188. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +122 -62
  189. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +43 -20
  190. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +8 -7
  191. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +23 -6
  192. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +8 -6
  193. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +15 -7
  194. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +29 -15
  195. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +26 -10
  196. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +7 -4
  197. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +16 -9
  198. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +32 -15
  199. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +5 -2
  200. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.kt +13 -5
  201. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +2 -1
  202. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +5 -2
  203. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +8 -4
  204. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +4 -1
  205. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +21 -12
  206. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +2 -1
  207. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStage.kt +2 -1
  208. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootView.kt +2 -1
  209. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +5 -2
  210. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +4 -2
  211. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +9 -6
  212. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +18 -9
  213. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +22 -10
  214. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +1 -1
  215. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +24 -11
  216. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +11 -5
  217. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +15 -7
  218. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +6 -3
  219. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +2 -1
  220. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +6 -3
  221. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +4 -4
  222. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +6 -3
  223. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +5 -2
  224. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +5 -2
  225. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +5 -2
  226. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +2 -1
  227. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +13 -5
  228. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +38 -20
  229. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +13 -6
  230. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +14 -7
  231. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +9 -3
  232. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +11 -6
  233. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +2 -1
  234. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +3 -2
  235. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +8 -3
  236. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +2 -1
  237. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +4 -2
  238. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +17 -7
  239. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +7 -4
  240. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +17 -10
  241. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +1 -1
  242. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +1 -1
  243. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +1 -1
  244. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +14 -8
  245. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +4 -2
  246. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +4 -2
  247. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +8 -4
  248. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +2 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +11 -5
  250. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +2 -1
  251. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +11 -4
  252. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +2 -1
  253. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +5 -2
  254. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +3 -1
  255. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +5 -2
  256. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +2 -1
  257. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +6 -3
  258. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +5 -2
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +7 -3
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +5 -2
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +6 -3
  262. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +6 -3
  263. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +11 -6
  264. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +5 -3
  265. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +1 -1
  266. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +4 -3
  267. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +16 -10
  268. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +6 -3
  269. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +3 -2
  270. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +8 -5
  271. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +3 -1
  272. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +2 -1
  273. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +15 -10
  274. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +1 -1
  275. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +18 -10
  276. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +18 -8
  277. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.kt +1 -1
  278. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +4 -3
  279. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +1 -1
  280. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +8 -3
  281. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +2 -1
  282. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +2 -1
  283. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +4 -1
  284. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +9 -4
  285. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +4 -2
  286. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +1 -1
  287. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +3 -2
  288. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +22 -15
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +9 -4
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.kt +7 -6
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +40 -15
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +18 -10
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +5 -3
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +4 -2
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +3 -1
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +2 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +3 -2
  299. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +6 -3
  300. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +10 -2
  301. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +8 -3
  302. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +23 -11
  303. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +20 -7
  304. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.kt +2 -2
  305. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +2 -1
  306. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +2 -1
  307. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +12 -6
  308. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +13 -7
  309. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +17 -8
  310. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +12 -4
  311. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +20 -8
  312. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -1
  313. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +5 -2
  314. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +5 -2
  315. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +1 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +107 -50
  317. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +8 -4
  318. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +3 -3
  319. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +4 -2
  320. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +2 -2
  321. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  322. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
  323. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +2 -2
  324. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +1 -1
  325. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +35 -11
  326. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +1 -1
  327. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +1 -1
  328. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +2 -1
  329. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +1 -1
  330. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +65 -26
  331. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +1 -1
  332. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +13 -7
  333. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +1 -1
  334. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +6 -2
  335. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +2 -1
  336. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +12 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +6 -3
  338. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +21 -11
  339. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +15 -8
  340. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -1
  341. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +6 -4
  342. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualViewManager.kt +1 -1
  343. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +12 -4
  344. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +2 -2
  345. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +1 -1
  346. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +2 -1
  347. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.kt +35 -0
  348. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +33 -0
  349. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaConfigFactory.java → YogaConfigFactory.kt} +3 -5
  350. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.kt +27 -0
  351. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.kt +19 -0
  352. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.kt +29 -0
  353. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +331 -0
  354. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.kt +14 -0
  355. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.kt +51 -0
  356. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.kt +66 -0
  357. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.kt +19 -0
  358. package/ReactCommon/callinvoker/ReactCommon/tests/TestCallInvoker.h +4 -0
  359. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  360. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +4 -1
  361. package/ReactCommon/react/bridging/Class.h +5 -0
  362. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
  363. package/ReactCommon/react/nativemodule/core/tests/TurboModuleTestFixture.h +33 -1
  364. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.kt +6 -2
  365. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +6 -2
  366. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +1 -1
  367. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +5 -9
  368. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +2 -1
  369. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +1 -0
  370. package/cli.js +1 -1
  371. package/package.json +8 -8
  372. package/scripts/cocoapods/new_architecture.rb +7 -3
  373. package/scripts/codegen/generate-artifacts-executor/utils.js +20 -0
  374. package/sdks/hermesc/osx-bin/hermes +0 -0
  375. package/sdks/hermesc/osx-bin/hermesc +0 -0
  376. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  377. package/src/private/animated/createAnimatedPropsHook.js +5 -7
  378. package/src/private/featureflags/ReactNativeFeatureFlags.js +7 -1
  379. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +2 -2
  380. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.java +0 -43
  381. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +0 -29
  382. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.java +0 -35
  383. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.java +0 -20
  384. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.java +0 -32
  385. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +0 -141
  386. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.java +0 -18
  387. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.java +0 -51
  388. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.java +0 -80
  389. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.java +0 -18
@@ -374,7 +374,7 @@ const parallelImpl = function (
374
374
  const hasEnded: {[number]: boolean} = {};
375
375
  const stopTogether = !(config && config.stopTogether === false);
376
376
 
377
- const result = {
377
+ const result: CompositeAnimation = {
378
378
  start: function (callback?: ?EndCallback, isLooping?: boolean) {
379
379
  if (doneCount === animations.length) {
380
380
  callback && callback({finished: true});
@@ -150,12 +150,11 @@ export default class Animation {
150
150
  if (value != null) {
151
151
  animatedValue.__onAnimatedValueUpdateReceived(value, offset);
152
152
 
153
- if (
154
- !(
155
- ReactNativeFeatureFlags.cxxNativeAnimatedEnabled() &&
156
- ReactNativeFeatureFlags.cxxNativeAnimatedRemoveJsSync()
157
- )
158
- ) {
153
+ const isJsSyncRemoved =
154
+ ReactNativeFeatureFlags.cxxNativeAnimatedEnabled() &&
155
+ !ReactNativeFeatureFlags.disableFabricCommitInCXXAnimated() &&
156
+ ReactNativeFeatureFlags.cxxNativeAnimatedRemoveJsSync();
157
+ if (!isJsSyncRemoved) {
159
158
  if (this.__isLooping === true) {
160
159
  return;
161
160
  }
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
29
29
  static major: number = 0;
30
30
  static minor: number = 82;
31
31
  static patch: number = 0;
32
- static prerelease: string | null = 'nightly-20250812-677ee671d';
32
+ static prerelease: string | null = 'nightly-20250815-41029d8e9';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -12,8 +12,10 @@ import type {HostInstance} from '../../src/private/types/HostInstance';
12
12
  import type {ImageStyleProp} from '../StyleSheet/StyleSheet';
13
13
  import type {RootTag} from '../Types/RootTagTypes';
14
14
  import type {ImageProps} from './ImageProps';
15
+ import type {ImageSourceHeaders} from './ImageSourceUtils';
15
16
  import type {AbstractImageAndroid, ImageAndroid} from './ImageTypes.flow';
16
17
 
18
+ import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
17
19
  import flattenStyle from '../StyleSheet/flattenStyle';
18
20
  import StyleSheet from '../StyleSheet/StyleSheet';
19
21
  import TextAncestorContext from '../Text/TextAncestorContext';
@@ -31,6 +33,7 @@ import NativeImageLoaderAndroid, {
31
33
  import resolveAssetSource from './resolveAssetSource';
32
34
  import TextInlineImageNativeComponent from './TextInlineImageNativeComponent';
33
35
  import * as React from 'react';
36
+ import {use} from 'react';
34
37
 
35
38
  let _requestId = 1;
36
39
  function generateRequestId() {
@@ -121,6 +124,12 @@ async function queryCache(
121
124
  return NativeImageLoaderAndroid.queryCache(urls);
122
125
  }
123
126
 
127
+ const EMPTY_IMAGE_SOURCE = {
128
+ uri: undefined,
129
+ width: undefined,
130
+ height: undefined,
131
+ };
132
+
124
133
  /**
125
134
  * A React component for displaying different types of images,
126
135
  * including network images, static resources, temporary local images, and
@@ -128,137 +137,335 @@ async function queryCache(
128
137
  *
129
138
  * See https://reactnative.dev/docs/image
130
139
  */
131
- let BaseImage: AbstractImageAndroid = ({
132
- ref: forwardedRef,
133
- ...props
134
- }: {
135
- ref?: React.RefSetter<HostInstance>,
136
- ...ImageProps,
137
- }) => {
138
- let source = getImageSourcesFromImageProps(props) || {
139
- uri: undefined,
140
- width: undefined,
141
- height: undefined,
142
- };
143
- const defaultSource = resolveAssetSource(props.defaultSource);
144
- const loadingIndicatorSource = resolveAssetSource(
145
- props.loadingIndicatorSource,
146
- );
147
-
148
- if (props.children != null) {
149
- throw new Error(
150
- 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
151
- );
152
- }
140
+ let _BaseImage;
141
+ if (ReactNativeFeatureFlags.reduceDefaultPropsInImage()) {
142
+ let BaseImage: AbstractImageAndroid = ({
143
+ ref: forwardedRef,
144
+ alt,
145
+ accessible,
146
+ 'aria-labelledby': ariaLabelledBy,
147
+ 'aria-busy': ariaBusy,
148
+ 'aria-checked': ariaChecked,
149
+ 'aria-disabled': ariaDisabled,
150
+ 'aria-expanded': ariaExpanded,
151
+ 'aria-label': ariaLabel,
152
+ 'aria-selected': ariaSelected,
153
+ accessibilityLabel,
154
+ accessibilityLabelledBy,
155
+ accessibilityState,
156
+ defaultSource,
157
+ loadingIndicatorSource,
158
+ children,
159
+ source,
160
+ src,
161
+ style,
162
+ crossOrigin,
163
+ referrerPolicy,
164
+ srcSet,
165
+ onLoadStart,
166
+ onLoad,
167
+ onLoadEnd,
168
+ onError,
169
+ width,
170
+ height,
171
+ resizeMode,
172
+ ...restProps
173
+ }: {
174
+ ref?: React.RefSetter<HostInstance>,
175
+ ...ImageProps,
176
+ }) => {
177
+ let source_ =
178
+ getImageSourcesFromImageProps({
179
+ crossOrigin,
180
+ referrerPolicy,
181
+ src,
182
+ srcSet,
183
+ width,
184
+ height,
185
+ source,
186
+ }) || EMPTY_IMAGE_SOURCE;
187
+ const defaultSource_ = resolveAssetSource(defaultSource);
188
+ const loadingIndicatorSource_ = resolveAssetSource(loadingIndicatorSource);
153
189
 
154
- if (props.defaultSource != null && props.loadingIndicatorSource != null) {
155
- throw new Error(
156
- 'The <Image> component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.',
157
- );
158
- }
190
+ if (children != null) {
191
+ throw new Error(
192
+ 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
193
+ );
194
+ }
159
195
 
160
- let style: ImageStyleProp;
161
- let sources;
162
- if (Array.isArray(source)) {
163
- style = [styles.base, props.style];
164
- sources = source;
165
- } else {
166
- const {uri} = source;
167
- if (uri === '') {
168
- console.warn('source.uri should not be an empty string');
196
+ if (defaultSource != null && loadingIndicatorSource != null) {
197
+ throw new Error(
198
+ 'The <Image> component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.',
199
+ );
169
200
  }
170
- const width = source.width ?? props.width;
171
- const height = source.height ?? props.height;
172
- style = [{width, height}, styles.base, props.style];
173
- sources = [source];
174
- }
175
201
 
176
- const {onLoadStart, onLoad, onLoadEnd, onError} = props;
177
- const nativeProps = {
178
- ...props,
179
- style,
180
- shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd || onError),
202
+ let style_: ImageStyleProp;
203
+ let sources_;
204
+ let headers_: ?ImageSourceHeaders;
205
+ if (Array.isArray(source_)) {
206
+ style_ = [styles.base, style];
207
+ sources_ = source_;
208
+ headers_ = sources_[0].headers;
209
+ } else {
210
+ const {uri} = source_;
211
+ if (uri === '') {
212
+ console.warn('source.uri should not be an empty string');
213
+ }
214
+ const width_ = source_.width ?? width;
215
+ const height_ = source_.height ?? height;
216
+ style_ = [{width: width_, height: height_}, styles.base, style];
217
+ sources_ = [source_];
218
+ }
219
+
220
+ const nativeProps = restProps as {
221
+ ...React.PropsOf<ImageViewNativeComponent>,
222
+ };
223
+
181
224
  // Both iOS and C++ sides expect to have "source" prop, whereas on Android it's "src"
182
225
  // (for historical reasons). So in the latter case we populate both "src" and "source",
183
226
  // in order to have a better alignment between platforms in the future.
184
- src: sources,
185
- source: sources,
186
- /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found
187
- * when making Flow check .android.js files. */
188
- headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
189
- defaultSource: defaultSource ? defaultSource.uri : null,
190
- loadingIndicatorSrc: loadingIndicatorSource
191
- ? loadingIndicatorSource.uri
192
- : null,
193
- accessibilityLabel:
194
- props['aria-label'] ?? props.accessibilityLabel ?? props.alt,
195
- accessibilityLabelledBy:
196
- props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy,
197
- accessible: props.alt !== undefined ? true : props.accessible,
198
- accessibilityState: {
199
- busy: props['aria-busy'] ?? props.accessibilityState?.busy,
200
- checked: props['aria-checked'] ?? props.accessibilityState?.checked,
201
- disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
202
- expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
203
- selected: props['aria-selected'] ?? props.accessibilityState?.selected,
204
- },
227
+ // TODO: `src` should be eventually removed from the API on Android.
228
+ nativeProps.src = sources_;
229
+ nativeProps.source = sources_;
230
+
231
+ nativeProps.style = style_;
232
+
233
+ if (headers_ != null) {
234
+ nativeProps.headers = headers_;
235
+ }
236
+
237
+ if (onLoadStart != null) {
238
+ nativeProps.shouldNotifyLoadEvents = true;
239
+ nativeProps.onLoadStart = onLoadStart;
240
+ }
241
+
242
+ if (onLoad != null) {
243
+ nativeProps.shouldNotifyLoadEvents = true;
244
+ nativeProps.onLoad = onLoad;
245
+ }
246
+
247
+ if (onLoadEnd != null) {
248
+ nativeProps.shouldNotifyLoadEvents = true;
249
+ nativeProps.onLoadEnd = onLoadEnd;
250
+ }
251
+
252
+ if (onError != null) {
253
+ nativeProps.shouldNotifyLoadEvents = true;
254
+ nativeProps.onError = onError;
255
+ }
256
+
257
+ if (defaultSource_ != null && defaultSource_.uri != null) {
258
+ nativeProps.defaultSource = defaultSource_.uri;
259
+ }
260
+
261
+ if (
262
+ loadingIndicatorSource_ != null &&
263
+ loadingIndicatorSource_.uri != null
264
+ ) {
265
+ nativeProps.loadingIndicatorSrc = loadingIndicatorSource_.uri;
266
+ }
267
+
268
+ if (ariaLabel != null) {
269
+ nativeProps.accessibilityLabel = ariaLabel;
270
+ } else if (accessibilityLabel != null) {
271
+ nativeProps.accessibilityLabel = accessibilityLabel;
272
+ } else if (alt != null) {
273
+ nativeProps.accessibilityLabel = alt;
274
+ }
275
+
276
+ if (ariaLabelledBy != null) {
277
+ nativeProps.accessibilityLabelledBy = ariaLabelledBy;
278
+ } else if (accessibilityLabelledBy != null) {
279
+ nativeProps.accessibilityLabelledBy = accessibilityLabelledBy;
280
+ }
281
+
282
+ if (alt != null) {
283
+ nativeProps.accessible = true;
284
+ } else if (accessible != null) {
285
+ nativeProps.accessible = accessible;
286
+ }
287
+
288
+ if (
289
+ accessibilityState != null ||
290
+ ariaBusy != null ||
291
+ ariaChecked != null ||
292
+ ariaDisabled != null ||
293
+ ariaExpanded != null ||
294
+ ariaSelected != null
295
+ ) {
296
+ nativeProps.accessibilityState = {
297
+ busy: ariaBusy ?? accessibilityState?.busy,
298
+ checked: ariaChecked ?? accessibilityState?.checked,
299
+ disabled: ariaDisabled ?? accessibilityState?.disabled,
300
+ expanded: ariaExpanded ?? accessibilityState?.expanded,
301
+ selected: ariaSelected ?? accessibilityState?.selected,
302
+ };
303
+ }
304
+
305
+ const flattenedStyle_ = flattenStyle<ImageStyleProp>(style);
306
+ const objectFit_ = convertObjectFitToResizeMode(flattenedStyle_?.objectFit);
307
+ const resizeMode_ =
308
+ objectFit_ || resizeMode || flattenedStyle_?.resizeMode || 'cover';
309
+ nativeProps.resizeMode = resizeMode_;
310
+
311
+ const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
312
+
313
+ const hasTextAncestor = use(TextAncestorContext);
314
+ const analyticTag = use(ImageAnalyticsTagContext);
315
+ if (analyticTag !== null) {
316
+ nativeProps.internal_analyticTag = analyticTag;
317
+ }
318
+
319
+ return hasTextAncestor ? (
320
+ <TextInlineImageNativeComponent
321
+ // $FlowFixMe[incompatible-type]
322
+ style={style_}
323
+ resizeMode={resizeMode_}
324
+ headers={headers_}
325
+ src={sources_}
326
+ ref={actualRef}
327
+ />
328
+ ) : (
329
+ <ImageViewNativeComponent {...nativeProps} ref={actualRef} />
330
+ );
205
331
  };
206
332
 
207
- const flattenedStyle = flattenStyle<ImageStyleProp>(style);
208
- const objectFit = convertObjectFitToResizeMode(flattenedStyle?.objectFit);
209
- const resizeMode =
210
- objectFit || props.resizeMode || flattenedStyle?.resizeMode || 'cover';
211
-
212
- const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
213
-
214
- return (
215
- <ImageAnalyticsTagContext.Consumer>
216
- {analyticTag => {
217
- const nativePropsWithAnalytics =
218
- analyticTag !== null
219
- ? {
220
- ...nativeProps,
221
- internal_analyticTag: analyticTag,
222
- }
223
- : nativeProps;
224
- return (
225
- <TextAncestorContext.Consumer>
226
- {hasTextAncestor => {
227
- if (hasTextAncestor) {
333
+ _BaseImage = BaseImage;
334
+ } else {
335
+ let BaseImage: AbstractImageAndroid = ({
336
+ ref: forwardedRef,
337
+ ...props
338
+ }: {
339
+ ref?: React.RefSetter<HostInstance>,
340
+ ...ImageProps,
341
+ }) => {
342
+ let source = getImageSourcesFromImageProps(props) || {
343
+ uri: undefined,
344
+ width: undefined,
345
+ height: undefined,
346
+ };
347
+ const defaultSource = resolveAssetSource(props.defaultSource);
348
+ const loadingIndicatorSource = resolveAssetSource(
349
+ props.loadingIndicatorSource,
350
+ );
351
+
352
+ if (props.children != null) {
353
+ throw new Error(
354
+ 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
355
+ );
356
+ }
357
+
358
+ if (props.defaultSource != null && props.loadingIndicatorSource != null) {
359
+ throw new Error(
360
+ 'The <Image> component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.',
361
+ );
362
+ }
363
+
364
+ let style: ImageStyleProp;
365
+ let sources;
366
+ if (Array.isArray(source)) {
367
+ style = [styles.base, props.style];
368
+ sources = source;
369
+ } else {
370
+ const {uri} = source;
371
+ if (uri === '') {
372
+ console.warn('source.uri should not be an empty string');
373
+ }
374
+ const width = source.width ?? props.width;
375
+ const height = source.height ?? props.height;
376
+ style = [{width, height}, styles.base, props.style];
377
+ sources = [source];
378
+ }
379
+
380
+ const {onLoadStart, onLoad, onLoadEnd, onError} = props;
381
+ const nativeProps = {
382
+ ...props,
383
+ style,
384
+ shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd || onError),
385
+ // Both iOS and C++ sides expect to have "source" prop, whereas on Android it's "src"
386
+ // (for historical reasons). So in the latter case we populate both "src" and "source",
387
+ // in order to have a better alignment between platforms in the future.
388
+ src: sources,
389
+ source: sources,
390
+ /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found
391
+ * when making Flow check .android.js files. */
392
+ headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
393
+ defaultSource: defaultSource ? defaultSource.uri : null,
394
+ loadingIndicatorSrc: loadingIndicatorSource
395
+ ? loadingIndicatorSource.uri
396
+ : null,
397
+ accessibilityLabel:
398
+ props['aria-label'] ?? props.accessibilityLabel ?? props.alt,
399
+ accessibilityLabelledBy:
400
+ props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy,
401
+ accessible: props.alt !== undefined ? true : props.accessible,
402
+ accessibilityState: {
403
+ busy: props['aria-busy'] ?? props.accessibilityState?.busy,
404
+ checked: props['aria-checked'] ?? props.accessibilityState?.checked,
405
+ disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
406
+ expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
407
+ selected: props['aria-selected'] ?? props.accessibilityState?.selected,
408
+ },
409
+ };
410
+
411
+ const flattenedStyle = flattenStyle<ImageStyleProp>(style);
412
+ const objectFit = convertObjectFitToResizeMode(flattenedStyle?.objectFit);
413
+ const resizeMode =
414
+ objectFit || props.resizeMode || flattenedStyle?.resizeMode || 'cover';
415
+
416
+ const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
417
+
418
+ return (
419
+ <ImageAnalyticsTagContext.Consumer>
420
+ {analyticTag => {
421
+ const nativePropsWithAnalytics =
422
+ analyticTag !== null
423
+ ? {
424
+ ...nativeProps,
425
+ internal_analyticTag: analyticTag,
426
+ }
427
+ : nativeProps;
428
+ return (
429
+ <TextAncestorContext.Consumer>
430
+ {hasTextAncestor => {
431
+ if (hasTextAncestor) {
432
+ return (
433
+ <TextInlineImageNativeComponent
434
+ // $FlowFixMe[incompatible-type]
435
+ style={style}
436
+ resizeMode={resizeMode}
437
+ headers={nativeProps.headers}
438
+ src={sources}
439
+ ref={actualRef}
440
+ />
441
+ );
442
+ }
443
+
228
444
  return (
229
- <TextInlineImageNativeComponent
230
- // $FlowFixMe[incompatible-type]
231
- style={style}
445
+ <ImageViewNativeComponent
446
+ {...nativePropsWithAnalytics}
232
447
  resizeMode={resizeMode}
233
- headers={nativeProps.headers}
234
- src={sources}
235
448
  ref={actualRef}
236
449
  />
237
450
  );
238
- }
239
-
240
- return (
241
- <ImageViewNativeComponent
242
- {...nativePropsWithAnalytics}
243
- resizeMode={resizeMode}
244
- ref={actualRef}
245
- />
246
- );
247
- }}
248
- </TextAncestorContext.Consumer>
249
- );
250
- }}
251
- </ImageAnalyticsTagContext.Consumer>
252
- );
253
- };
451
+ }}
452
+ </TextAncestorContext.Consumer>
453
+ );
454
+ }}
455
+ </ImageAnalyticsTagContext.Consumer>
456
+ );
457
+ };
458
+
459
+ _BaseImage = BaseImage;
460
+ }
254
461
 
255
462
  const imageComponentDecorator = unstable_getImageComponentDecorator();
256
463
  if (imageComponentDecorator != null) {
257
- BaseImage = imageComponentDecorator(BaseImage);
464
+ _BaseImage = imageComponentDecorator(_BaseImage);
258
465
  }
259
466
 
260
467
  // $FlowExpectedError[incompatible-type] Eventually we need to move these functions from statics of the component to exports in the module.
261
- const Image: ImageAndroid = BaseImage;
468
+ const Image: ImageAndroid = _BaseImage;
262
469
 
263
470
  Image.displayName = 'Image';
264
471
 
@@ -15,20 +15,26 @@ import type {ImageProps} from './ImageProps';
15
15
 
16
16
  import resolveAssetSource from './resolveAssetSource';
17
17
 
18
+ export type ImageSourceHeaders = {
19
+ [string]: string,
20
+ };
21
+
18
22
  /**
19
23
  * A function which returns the appropriate value for image source
20
24
  * by resolving the `source`, `src` and `srcSet` props.
21
25
  */
22
26
  export function getImageSourcesFromImageProps(
23
27
  imageProps: ImageProps,
24
- ): ?ResolvedAssetSource | $ReadOnlyArray<{uri: string, ...}> {
28
+ ):
29
+ | ?ResolvedAssetSource
30
+ | $ReadOnlyArray<{uri: string, headers: ImageSourceHeaders, ...}> {
25
31
  let source = resolveAssetSource(imageProps.source);
26
32
 
27
33
  let sources;
28
34
 
29
35
  const {crossOrigin, referrerPolicy, src, srcSet, width, height} = imageProps;
30
36
 
31
- const headers: {[string]: string} = {};
37
+ const headers: ImageSourceHeaders = {};
32
38
  if (crossOrigin === 'use-credentials') {
33
39
  headers['Access-Control-Allow-Credentials'] = 'true';
34
40
  }
@@ -422,7 +422,7 @@ const PanResponder = {
422
422
  numberActiveTouches: 0,
423
423
  _accountsForMovesUpTo: 0,
424
424
  };
425
- const panHandlers = {
425
+ const panHandlers: GestureResponderHandlerMethods = {
426
426
  onStartShouldSetResponder(event: GestureResponderEvent): boolean {
427
427
  return config.onStartShouldSetPanResponder == null
428
428
  ? false
@@ -8,6 +8,8 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {DialogOptions} from '../../src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid';
12
+
11
13
  import NativeDialogManagerAndroid from '../NativeModules/specs/NativeDialogManagerAndroid';
12
14
  import NativePermissionsAndroid from './NativePermissionsAndroid';
13
15
  import invariant from 'invariant';
@@ -249,14 +251,14 @@ class PermissionsAndroidImpl {
249
251
 
250
252
  if (shouldShowRationale && !!NativeDialogManagerAndroid) {
251
253
  return new Promise((resolve, reject) => {
252
- const options = {
254
+ /* $FlowFixMe[incompatible-exact] (>=0.111.0 site=react_native_fb)
255
+ * This comment suppresses an error found when Flow v0.111 was
256
+ * deployed. To see the error, delete this comment and run Flow.
257
+ */
258
+ const options: DialogOptions = {
253
259
  ...rationale,
254
260
  };
255
261
  NativeDialogManagerAndroid.showAlert(
256
- /* $FlowFixMe[incompatible-exact] (>=0.111.0 site=react_native_fb)
257
- * This comment suppresses an error found when Flow v0.111 was
258
- * deployed. To see the error, delete this comment and run Flow.
259
- */
260
262
  options,
261
263
  () => reject(new Error('Error showing rationale')),
262
264
  () =>
@@ -19,4 +19,4 @@ as you will still be using the older renderer from the folder mentioned above. B
19
19
 
20
20
  For the sake of React 18, the first version of React Native compatible with React 18 is **0.69.0**. Users on React Native 0.68.0 and previous versions won't be able to use React 18.
21
21
 
22
- If you use the `react-native upgrade` command or the React Native Upgrade Helper, you'll bump to the correct React version once you upgrade React Native.
22
+ If you use the [React Native Upgrade Helper](https://react-native-community.github.io/upgrade-helper/), you'll bump to the correct React version once you upgrade React Native.
@@ -94,6 +94,7 @@ interface PlatformWindowsOSStatic extends PlatformStatic {
94
94
 
95
95
  interface PlatformWebStatic extends PlatformStatic {
96
96
  OS: 'web';
97
+ Version: string;
97
98
  }
98
99
 
99
100
  export type Platform =
@@ -162,7 +162,7 @@ type MacOSPlatform = {
162
162
  type WebPlatform = {
163
163
  OS: 'web',
164
164
  // $FlowFixMe[unsafe-getters-setters]
165
- get Version(): void,
165
+ get Version(): string,
166
166
  // $FlowFixMe[unsafe-getters-setters]
167
167
  get constants(): {
168
168
  reactNativeVersion: {
@@ -16,7 +16,7 @@ type Point = {
16
16
  ...
17
17
  };
18
18
 
19
- const dummyPoint = {x: undefined, y: undefined};
19
+ const dummyPoint: Point = {x: undefined, y: undefined};
20
20
 
21
21
  function pointsDiffer(one: ?Point, two: ?Point): boolean {
22
22
  one = one || dummyPoint;
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(82),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"nightly-20250812-677ee671d",
27
+ RCTVersionPrerelease: @"nightly-20250815-41029d8e9",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -81,7 +81,9 @@
81
81
 
82
82
  - (void)dealloc
83
83
  {
84
+ #if !TARGET_OS_MACCATALYST // sharedApplication.delegate is not available on Mac Catalyst
84
85
  [RCTSharedApplication().delegate.window makeKeyWindow];
86
+ #endif
85
87
  }
86
88
 
87
89
  - (void)show
@@ -40,6 +40,7 @@ using namespace facebook::react;
40
40
  // attaching and detaching of a pull-to-refresh view to a scroll view.
41
41
  // The pull-to-refresh view is not a subview of this view.
42
42
  self.hidden = YES;
43
+ _props = PullToRefreshViewShadowNode::defaultSharedProps();
43
44
  _recycled = NO;
44
45
  [self _initializeUIRefreshControl];
45
46
  }