react-native-windows 0.74.12 → 0.75.0-preview.2

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 (335) hide show
  1. package/.flowconfig +8 -2
  2. package/Common/Utilities.cpp +2 -2
  3. package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +970 -0
  4. package/Folly/TEMP_UntilFollyUpdate/json.cpp +1110 -0
  5. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +4 -2
  6. package/Libraries/Animated/AnimatedImplementation.js +2 -0
  7. package/Libraries/Animated/NativeAnimatedHelper.js +4 -0
  8. package/Libraries/Animated/createAnimatedComponent.js +10 -4
  9. package/Libraries/Animated/useAnimatedProps.js +56 -28
  10. package/Libraries/BatchedBridge/MessageQueue.js +1 -0
  11. package/Libraries/Components/Button.js +10 -5
  12. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +11 -2
  13. package/Libraries/Components/Flyout/Flyout.js +10 -10
  14. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +8 -7
  15. package/Libraries/Components/Pressable/Pressable.js +13 -6
  16. package/Libraries/Components/Pressable/Pressable.windows.js +13 -6
  17. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +4 -0
  18. package/Libraries/Components/ScrollView/ScrollView.js +109 -29
  19. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +6 -0
  20. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +6 -0
  21. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +13 -1
  22. package/Libraries/Components/StatusBar/StatusBar.js +1 -21
  23. package/Libraries/Components/Switch/Switch.windows.js +2 -0
  24. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -15
  25. package/Libraries/Components/TextInput/InputAccessoryView.js +10 -1
  26. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +0 -12
  27. package/Libraries/Components/TextInput/TextInput.d.ts +0 -19
  28. package/Libraries/Components/TextInput/TextInput.js +14 -70
  29. package/Libraries/Components/TextInput/TextInput.windows.js +15 -72
  30. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +27 -12
  31. package/Libraries/Components/Touchable/Touchable.js +2 -2
  32. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +4 -10
  33. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -1
  34. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +3 -1
  35. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +4 -32
  36. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -1
  37. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +3 -1
  38. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +8 -0
  39. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +117 -111
  40. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +129 -110
  41. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -0
  42. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  43. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  44. package/Libraries/Components/View/View.js +0 -11
  45. package/Libraries/Components/View/View.windows.js +0 -11
  46. package/Libraries/Components/View/ViewAccessibility.js +4 -4
  47. package/Libraries/Components/View/ViewAccessibility.windows.js +4 -4
  48. package/Libraries/Components/View/ViewPropTypes.d.ts +21 -59
  49. package/Libraries/Components/View/ViewPropTypes.js +7 -0
  50. package/Libraries/Components/View/ViewPropTypes.windows.js +7 -0
  51. package/Libraries/Core/Devtools/loadBundleFromServer.js +3 -3
  52. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +153 -0
  53. package/Libraries/Core/Devtools/parseErrorStack.js +5 -5
  54. package/Libraries/Core/Devtools/parseHermesStack.js +22 -16
  55. package/Libraries/Core/ErrorHandlers.js +116 -0
  56. package/Libraries/Core/ExceptionsManager.js +2 -2
  57. package/Libraries/Core/ReactNativeVersion.js +3 -3
  58. package/Libraries/Core/setUpDeveloperTools.js +3 -1
  59. package/Libraries/Core/setUpPerformance.js +6 -4
  60. package/Libraries/Core/setUpReactDevTools.js +70 -10
  61. package/Libraries/Core/setUpTimers.js +50 -31
  62. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  63. package/Libraries/Image/Image.android.js +23 -13
  64. package/Libraries/Image/Image.d.ts +14 -15
  65. package/Libraries/Image/Image.ios.js +21 -11
  66. package/Libraries/Image/Image.windows.js +21 -11
  67. package/Libraries/Image/ImageProps.js +16 -5
  68. package/Libraries/Image/ImageTypes.flow.js +7 -2
  69. package/Libraries/Image/ImageUtils.js +1 -0
  70. package/Libraries/Image/ImageViewNativeComponent.js +2 -1
  71. package/Libraries/Inspector/ElementBox.js +6 -3
  72. package/Libraries/Inspector/ElementProperties.js +1 -1
  73. package/Libraries/Interaction/TouchHistoryMath.js +4 -4
  74. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +6 -26
  75. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  76. package/Libraries/LogBox/Data/LogBoxData.js +39 -29
  77. package/Libraries/LogBox/Data/LogBoxLog.js +114 -2
  78. package/Libraries/LogBox/Data/parseLogBoxLog.js +168 -53
  79. package/Libraries/LogBox/LogBox.js +29 -12
  80. package/Libraries/LogBox/LogBoxNotificationContainer.js +4 -0
  81. package/Libraries/LogBox/UI/LogBoxInspector.js +8 -70
  82. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
  83. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -42
  84. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
  85. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +5 -66
  86. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +5 -66
  87. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
  88. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +8 -5
  89. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +8 -5
  90. package/Libraries/LogBox/UI/LogBoxNotification.js +13 -152
  91. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
  92. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
  93. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
  94. package/Libraries/NativeComponent/BaseViewConfig.android.js +5 -0
  95. package/Libraries/NativeComponent/BaseViewConfig.ios.js +5 -0
  96. package/Libraries/NativeComponent/BaseViewConfig.windows.js +5 -0
  97. package/Libraries/NativeComponent/NativeComponentRegistry.js +12 -5
  98. package/Libraries/NativeComponent/StaticViewConfigValidator.js +3 -0
  99. package/Libraries/Network/XMLHttpRequest.js +5 -1
  100. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +3 -3
  101. package/Libraries/Pressability/Pressability.js +3 -51
  102. package/Libraries/Pressability/Pressability.windows.js +3 -51
  103. package/Libraries/ReactNative/AppRegistry.d.ts +4 -0
  104. package/Libraries/ReactNative/AppRegistry.js +2 -4
  105. package/Libraries/ReactNative/BridgelessUIManager.js +1 -21
  106. package/Libraries/ReactNative/FabricUIManager.js +0 -51
  107. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -0
  108. package/Libraries/ReactNative/RendererImplementation.js +20 -2
  109. package/Libraries/ReactNative/UIManager.d.ts +0 -21
  110. package/Libraries/ReactNative/UIManagerProperties.js +0 -3
  111. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +5 -341
  112. package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -8
  113. package/Libraries/Renderer/implementations/ReactFabric-dev.js +15682 -27088
  114. package/Libraries/Renderer/implementations/ReactFabric-prod.js +5082 -4381
  115. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3480 -2571
  116. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +15943 -27543
  117. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5303 -4606
  118. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3450 -2572
  119. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  120. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  121. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  122. package/Libraries/Renderer/shims/ReactNativeTypes.js +24 -3
  123. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -2
  124. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  125. package/Libraries/Share/Share.d.ts +16 -10
  126. package/Libraries/Share/Share.js +14 -15
  127. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -1
  128. package/Libraries/StyleSheet/StyleSheet.js +3 -10
  129. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +21 -21
  130. package/Libraries/StyleSheet/StyleSheetTypes.js +24 -18
  131. package/Libraries/StyleSheet/flattenStyle.js +1 -0
  132. package/Libraries/StyleSheet/processFilter.js +132 -0
  133. package/Libraries/StyleSheet/processTransform.js +18 -3
  134. package/Libraries/Text/Text.js +151 -128
  135. package/Libraries/Text/Text.windows.js +144 -128
  136. package/Libraries/Text/TextNativeComponent.js +5 -4
  137. package/Libraries/Text/TextProps.js +6 -6
  138. package/Libraries/Text/TextProps.windows.js +6 -6
  139. package/Libraries/TurboModule/TurboModuleRegistry.js +2 -1
  140. package/Libraries/Types/CodegenTypes.js +3 -0
  141. package/Libraries/Utilities/{LoadingView.android.js → DevLoadingView.js} +33 -11
  142. package/Libraries/Utilities/Dimensions.js +1 -0
  143. package/Libraries/Utilities/HMRClient.js +36 -8
  144. package/Libraries/Utilities/HMRClientProdShim.js +1 -0
  145. package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
  146. package/Libraries/Utilities/Platform.android.js +4 -4
  147. package/Libraries/Utilities/RCTLog.js +1 -0
  148. package/Libraries/Utilities/ReactNativeTestTools.js +12 -24
  149. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +11 -6
  150. package/Libraries/__tests__/ViewWindows-test.js +6 -6
  151. package/Libraries/promiseRejectionTrackingOptions.js +1 -0
  152. package/Microsoft.ReactNative/Base/FollyIncludes.h +1 -1
  153. package/Microsoft.ReactNative/ComponentView.idl +0 -17
  154. package/Microsoft.ReactNative/Composition.Input.idl +3 -3
  155. package/Microsoft.ReactNative/CompositionSwitcher.idl +0 -1
  156. package/Microsoft.ReactNative/Fabric/AbiState.cpp +3 -45
  157. package/Microsoft.ReactNative/Fabric/AbiState.h +0 -6
  158. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +0 -3
  159. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +2 -2
  160. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +4 -4
  161. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -10
  162. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +27 -16
  163. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +1 -1
  164. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +48 -85
  165. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +0 -4
  166. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +24 -24
  167. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +6 -8
  168. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +0 -10
  169. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +0 -3
  170. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +29 -45
  171. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +1 -3
  172. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +6 -43
  173. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +23 -34
  174. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +1 -2
  175. package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +9 -3
  176. package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.h +1 -1
  177. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +17 -48
  178. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +3 -7
  179. package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +23 -16
  180. package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +5 -2
  181. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +2 -10
  182. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -36
  183. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -12
  184. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +4 -0
  185. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +1 -0
  186. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +1 -2
  187. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -4
  188. package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
  189. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +2 -2
  190. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +3 -3
  191. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +13 -20
  192. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  193. package/Microsoft.ReactNative/Timer.idl +1 -3
  194. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +1 -1
  195. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +2 -3
  196. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
  197. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +2 -2
  198. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
  199. package/Microsoft.ReactNative/packages.lock.json +41 -78
  200. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  201. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -0
  202. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -0
  203. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +14 -6
  204. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +2 -2
  205. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +1 -1
  206. package/Microsoft.ReactNative.Managed/packages.lock.json +3 -3
  207. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +4 -4
  208. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  209. package/README.md +21 -21
  210. package/ReactCommon/ReactCommon.vcxproj +2 -0
  211. package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
  212. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +67 -0
  213. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +180 -0
  214. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +351 -0
  215. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +6 -3
  216. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Base.h +152 -0
  217. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +2 -1
  218. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +13 -15
  219. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/EventEmitter.h +137 -0
  220. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Function.h +283 -0
  221. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +7 -10
  222. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +162 -0
  223. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -4
  224. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +33 -8
  225. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.cpp +45 -0
  226. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.h +67 -0
  227. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +104 -74
  228. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +4 -0
  229. package/Scripts/rnw-dependencies.ps1 +36 -23
  230. package/Shared/HermesRuntimeHolder.cpp +19 -1
  231. package/Shared/HermesRuntimeHolder.h +8 -1
  232. package/Shared/HermesSamplingProfiler.cpp +1 -2
  233. package/Shared/Networking/WinRTWebSocketResource.cpp +3 -3
  234. package/Shared/OInstance.cpp +1 -2
  235. package/Shared/Shared.vcxitems +21 -15
  236. package/Shared/Shared.vcxitems.filters +8 -3
  237. package/Shared/Threading/BatchingQueueThread.cpp +6 -2
  238. package/Shared/Threading/BatchingQueueThread.h +2 -2
  239. package/Shared/Utils/CppWinrtLessExceptions.h +2 -2
  240. package/codegen/NativeAppStateSpec.g.h +8 -8
  241. package/codegen/NativeBlobModuleSpec.g.h +0 -10
  242. package/codegen/NativeDOMSpec.g.h +136 -0
  243. package/codegen/NativeDevSettingsSpec.g.h +11 -5
  244. package/codegen/NativeIdleCallbacksSpec.g.h +64 -0
  245. package/codegen/NativeIntersectionObserverSpec.g.h +14 -14
  246. package/codegen/NativeMicrotasksSpec.g.h +34 -0
  247. package/codegen/NativePerformanceSpec.g.h +35 -7
  248. package/codegen/NativePlatformConstantsWindowsSpec.g.h +81 -0
  249. package/codegen/NativePushNotificationManagerIOSSpec.g.h +15 -19
  250. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +111 -39
  251. package/codegen/NativeUIManagerSpec.g.h +5 -17
  252. package/codegen/react/components/rnwcore/Props.cpp +1 -1
  253. package/codegen/react/components/rnwcore/Props.h +16 -12
  254. package/codegen/react/components/rnwcore/States.h +0 -26
  255. package/codegen/rnwcoreJSI-generated.cpp +688 -463
  256. package/codegen/rnwcoreJSI.h +1374 -2867
  257. package/fmt/TEMP_UntilFmtUpdate/core.h +2925 -0
  258. package/fmt/fmt.vcxproj +1 -1
  259. package/jest/mockComponent.js +7 -0
  260. package/jest/renderer.js +25 -14
  261. package/jest/setup.js +19 -13
  262. package/package.json +29 -27
  263. package/rn-get-polyfills.js +1 -0
  264. package/src/private/core/composeStyles.js +27 -0
  265. package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -33
  266. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  267. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +56 -0
  268. package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
  269. package/src/private/specs/modules/NativeBlobModule.js +4 -2
  270. package/src/private/specs/modules/NativeDevSettings.js +1 -0
  271. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +0 -4
  272. package/src/private/specs/modules/NativeUIManager.js +0 -7
  273. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +24 -24
  274. package/src/private/webapis/dom/nodes/ReactNativeElement.js +11 -14
  275. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +2 -3
  276. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +24 -54
  277. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -13
  278. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  279. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
  280. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +4 -4
  281. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -4
  282. package/src/private/webapis/dom/oldstylecollections/NodeList.js +5 -5
  283. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
  284. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
  285. package/src/private/webapis/performance/EventCounts.js +1 -1
  286. package/src/private/webapis/performance/MemoryInfo.js +9 -9
  287. package/src/private/webapis/performance/Performance.js +10 -56
  288. package/src/private/webapis/performance/PerformanceObserver.js +30 -22
  289. package/src/private/webapis/performance/RawPerformanceEntry.js +2 -7
  290. package/src/private/webapis/performance/ReactNativeStartupTiming.js +18 -18
  291. package/src/private/webapis/performance/UserTiming.js +63 -0
  292. package/src/private/webapis/performance/{NativePerformance.js → specs/NativePerformance.js} +3 -2
  293. package/src/private/webapis/performance/{NativePerformanceObserver.js → specs/NativePerformanceObserver.js} +2 -2
  294. package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformance.js +1 -1
  295. package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformanceObserver.js +3 -4
  296. package/stubs/glog/logging.h +1 -0
  297. package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
  298. package/template/cs-lib/proj/MyLib.csproj +1 -1
  299. package/template/metro.config.js +13 -2
  300. package/templates/cpp-app/template.config.js +1 -1
  301. package/templates/cpp-lib/example/metro.config.js +2 -2
  302. package/templates/cpp-lib/template.config.js +1 -1
  303. package/templates/old/generateWrapper.js +4 -1
  304. package/types/modules/globals.d.ts +4 -0
  305. package/Libraries/Lists/FlatList.windows.js +0 -717
  306. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -13
  307. package/Libraries/Utilities/LoadingView.ios.js +0 -50
  308. package/Libraries/Utilities/LoadingView.js +0 -16
  309. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +0 -178
  310. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +0 -39
  311. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +0 -31
  312. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -137
  313. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2377
  314. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.cpp +0 -140
  315. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -92
  316. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  317. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.cpp +0 -48
  318. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -122
  319. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -366
  320. package/codegen/NativeAnimationsDebugModuleSpec.g.h +0 -40
  321. package/codegen/NativePlatformConstantsWinSpec.g.h +0 -81
  322. package/jest/ReactNativeInternalFeatureFlagsMock.js +0 -13
  323. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +0 -44
  324. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +0 -92
  325. package/src/private/specs/modules/NativeAnimationsDebugModule.js +0 -20
  326. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +0 -85
  327. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +0 -80
  328. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +0 -161
  329. package/src/private/webapis/performance/__tests__/EventCounts-test.js +0 -116
  330. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +0 -82
  331. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +0 -108
  332. package/src/private/webapis/performance/__tests__/Performance-test.js +0 -117
  333. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +0 -208
  334. package/template/metro.devMode.config.js +0 -56
  335. /package/src/private/specs/modules/{NativePlatformConstantsWin.js → NativePlatformConstantsWindows.js} +0 -0
@@ -52,8 +52,10 @@ const Text: React.AbstractComponent<
52
52
  'aria-setsize': ariaSetsize, // Windows
53
53
  'aria-selected': ariaSelected,
54
54
  ellipsizeMode,
55
+ disabled,
55
56
  id,
56
57
  nativeID,
58
+ numberOfLines,
57
59
  onLongPress,
58
60
  onPress,
59
61
  onPressIn,
@@ -65,34 +67,47 @@ const Text: React.AbstractComponent<
65
67
  onResponderTerminationRequest,
66
68
  onStartShouldSetResponder,
67
69
  pressRetentionOffset,
70
+ selectable,
71
+ selectionColor,
68
72
  suppressHighlighting,
73
+ style,
69
74
  ...restProps
70
75
  } = props;
71
76
 
72
77
  const [isHighlighted, setHighlighted] = useState(false);
73
78
 
74
- let _accessibilityState;
79
+ const _accessibilityLabel = ariaLabel ?? accessibilityLabel;
80
+
81
+ let _accessibilityState: ?TextProps['accessibilityState'] =
82
+ accessibilityState;
75
83
  if (
76
- accessibilityState != null ||
77
84
  ariaBusy != null ||
78
85
  ariaChecked != null ||
79
86
  ariaDisabled != null ||
80
87
  ariaExpanded != null ||
81
88
  ariaSelected != null
82
89
  ) {
83
- _accessibilityState = {
84
- busy: ariaBusy ?? accessibilityState?.busy,
85
- checked: ariaChecked ?? accessibilityState?.checked,
86
- disabled: ariaDisabled ?? accessibilityState?.disabled,
87
- expanded: ariaExpanded ?? accessibilityState?.expanded,
88
- selected: ariaSelected ?? accessibilityState?.selected,
89
- };
90
+ if (_accessibilityState != null) {
91
+ _accessibilityState = {
92
+ busy: ariaBusy ?? _accessibilityState.busy,
93
+ checked: ariaChecked ?? _accessibilityState.checked,
94
+ disabled: ariaDisabled ?? _accessibilityState.disabled,
95
+ expanded: ariaExpanded ?? _accessibilityState.expanded,
96
+ selected: ariaSelected ?? _accessibilityState.selected,
97
+ };
98
+ } else {
99
+ _accessibilityState = {
100
+ busy: ariaBusy,
101
+ checked: ariaChecked,
102
+ disabled: ariaDisabled,
103
+ expanded: ariaExpanded,
104
+ selected: ariaSelected,
105
+ };
106
+ }
90
107
  }
91
108
 
92
- const _disabled =
93
- restProps.disabled != null
94
- ? restProps.disabled
95
- : _accessibilityState?.disabled;
109
+ const _accessibilityStateDisabled = _accessibilityState?.disabled;
110
+ const _disabled = disabled ?? _accessibilityStateDisabled;
96
111
 
97
112
  const nativeTextAccessibilityState =
98
113
  _disabled !== _accessibilityState?.disabled
@@ -106,46 +121,47 @@ const Text: React.AbstractComponent<
106
121
  _disabled !== true;
107
122
 
108
123
  const initialized = useLazyInitialization(isPressable);
109
- const config = useMemo(
110
- () =>
111
- initialized
112
- ? {
113
- disabled: !isPressable,
114
- pressRectOffset: pressRetentionOffset,
115
- onLongPress,
116
- onPress,
117
- onPressIn(event: PressEvent) {
118
- // Updating isHighlighted causes unnecessary re-renders for platforms that don't use it
119
- // in the best case, and cause issues with text selection in the worst case. Forcing
120
- // the isHighlighted prop to false on all platforms except iOS.
121
- setHighlighted(
122
- (suppressHighlighting == null || !suppressHighlighting) &&
123
- Platform.OS === 'ios',
124
- );
125
- onPressIn?.(event);
126
- },
127
- onPressOut(event: PressEvent) {
128
- setHighlighted(false);
129
- onPressOut?.(event);
130
- },
131
- onResponderTerminationRequest_DEPRECATED:
132
- onResponderTerminationRequest,
133
- onStartShouldSetResponder_DEPRECATED: onStartShouldSetResponder,
134
- }
135
- : null,
136
- [
137
- initialized,
138
- isPressable,
139
- pressRetentionOffset,
124
+ const config = useMemo(() => {
125
+ if (!initialized) {
126
+ return null;
127
+ }
128
+
129
+ let _onPressIn = onPressIn;
130
+ let _onPressOut = onPressOut;
131
+
132
+ // Updating isHighlighted causes unnecessary re-renders for platforms that don't use it
133
+ // in the best case, and cause issues with text selection in the worst case. Forcing
134
+ // the isHighlighted prop to false on all platforms except iOS.
135
+ if (Platform.OS === 'ios') {
136
+ _onPressIn = (event: PressEvent) => {
137
+ setHighlighted(suppressHighlighting == null || !suppressHighlighting);
138
+ onPressIn?.(event);
139
+ };
140
+
141
+ _onPressOut = (event: PressEvent) => {
142
+ setHighlighted(false);
143
+ onPressOut?.(event);
144
+ };
145
+ }
146
+
147
+ return {
148
+ disabled: !isPressable,
149
+ pressRectOffset: pressRetentionOffset,
140
150
  onLongPress,
141
151
  onPress,
142
- onPressIn,
143
- onPressOut,
144
- onResponderTerminationRequest,
145
- onStartShouldSetResponder,
146
- suppressHighlighting,
147
- ],
148
- );
152
+ onPressIn: _onPressIn,
153
+ onPressOut: _onPressOut,
154
+ };
155
+ }, [
156
+ initialized,
157
+ isPressable,
158
+ pressRetentionOffset,
159
+ onLongPress,
160
+ onPress,
161
+ onPressIn,
162
+ onPressOut,
163
+ suppressHighlighting,
164
+ ]);
149
165
 
150
166
  const eventHandlers = usePressability(config);
151
167
  const eventHandlersForText = useMemo(
@@ -179,8 +195,13 @@ const Text: React.AbstractComponent<
179
195
  },
180
196
  onClick: eventHandlers.onClick,
181
197
  onResponderTerminationRequest:
182
- eventHandlers.onResponderTerminationRequest,
183
- onStartShouldSetResponder: eventHandlers.onStartShouldSetResponder,
198
+ onResponderTerminationRequest != null
199
+ ? onResponderTerminationRequest
200
+ : eventHandlers.onResponderTerminationRequest,
201
+ onStartShouldSetResponder:
202
+ onStartShouldSetResponder != null
203
+ ? onStartShouldSetResponder
204
+ : eventHandlers.onStartShouldSetResponder,
184
205
  },
185
206
  [
186
207
  eventHandlers,
@@ -188,98 +209,100 @@ const Text: React.AbstractComponent<
188
209
  onResponderMove,
189
210
  onResponderRelease,
190
211
  onResponderTerminate,
212
+ onResponderTerminationRequest,
213
+ onStartShouldSetResponder,
191
214
  ],
192
215
  );
193
216
 
194
217
  // TODO: Move this processing to the view configuration.
195
- const selectionColor =
196
- restProps.selectionColor == null
197
- ? null
198
- : processColor(restProps.selectionColor);
199
-
200
- let style = restProps.style;
218
+ const _selectionColor =
219
+ selectionColor == null ? null : processColor(selectionColor);
201
220
 
221
+ let _style = style;
202
222
  if (__DEV__) {
203
223
  if (PressabilityDebug.isEnabled() && onPress != null) {
204
- style = [restProps.style, {color: 'magenta'}];
224
+ _style = [style, {color: 'magenta'}];
205
225
  }
206
226
  }
207
227
 
208
- let numberOfLines = restProps.numberOfLines;
209
- if (numberOfLines != null && !(numberOfLines >= 0)) {
210
- console.error(
211
- `'numberOfLines' in <Text> must be a non-negative number, received: ${numberOfLines}. The value will be set to 0.`,
212
- );
213
- numberOfLines = 0;
228
+ let _numberOfLines = numberOfLines;
229
+ if (_numberOfLines != null && !(_numberOfLines >= 0)) {
230
+ if (__DEV__) {
231
+ console.error(
232
+ `'numberOfLines' in <Text> must be a non-negative number, received: ${_numberOfLines}. The value will be set to 0.`,
233
+ );
234
+ }
235
+ _numberOfLines = 0;
214
236
  }
215
237
 
216
- const hasTextAncestor = useContext(TextAncestor);
217
-
218
- const _accessible = Platform.select({
219
- ios: accessible !== false,
220
- windows: accessible !== false,
221
- default: accessible,
222
- });
238
+ let _selectable = selectable;
239
+ const processedStyle = flattenStyle(_style);
240
+ if (processedStyle != null) {
241
+ if (typeof processedStyle.fontWeight === 'number') {
242
+ // $FlowFixMe[cannot-write]
243
+ processedStyle.fontWeight = processedStyle.fontWeight.toString();
244
+ }
223
245
 
224
- // $FlowFixMe[underconstrained-implicit-instantiation]
225
- style = flattenStyle(style);
246
+ if (processedStyle.userSelect != null) {
247
+ _selectable = userSelectToSelectableMap[processedStyle.userSelect];
248
+ // $FlowFixMe[cannot-write]
249
+ delete processedStyle.userSelect;
250
+ }
226
251
 
227
- if (typeof style?.fontWeight === 'number') {
228
- // $FlowFixMe[prop-missing]
229
- // $FlowFixMe[cannot-write]
230
- style.fontWeight = style?.fontWeight.toString();
252
+ if (processedStyle.verticalAlign != null) {
253
+ // $FlowFixMe[cannot-write]
254
+ processedStyle.textAlignVertical =
255
+ verticalAlignToTextAlignVerticalMap[processedStyle.verticalAlign];
256
+ // $FlowFixMe[cannot-write]
257
+ delete processedStyle.verticalAlign;
258
+ }
231
259
  }
232
260
 
233
- let _selectable = restProps.selectable;
234
- if (style?.userSelect != null) {
235
- // $FlowFixMe[invalid-computed-prop]
236
- _selectable = userSelectToSelectableMap[style.userSelect];
237
- // $FlowFixMe[prop-missing]
238
- // $FlowFixMe[cannot-write]
239
- delete style.userSelect;
240
- }
261
+ const _nativeID = id ?? nativeID;
241
262
 
242
- if (style?.verticalAlign != null) {
243
- // $FlowFixMe[prop-missing]
244
- // $FlowFixMe[cannot-write]
245
- style.textAlignVertical =
246
- // $FlowFixMe[invalid-computed-prop]
247
- verticalAlignToTextAlignVerticalMap[style.verticalAlign];
248
- // $FlowFixMe[prop-missing]
249
- // $FlowFixMe[cannot-write]
250
- delete style.verticalAlign;
263
+ // If the disabled prop and accessibilityState.disabled are out of sync but not both in
264
+ // falsy states we need to update the accessibilityState object to use the disabled prop.
265
+ if (
266
+ _disabled !== _accessibilityStateDisabled &&
267
+ ((_disabled != null && _disabled !== false) ||
268
+ (_accessibilityStateDisabled != null &&
269
+ _accessibilityStateDisabled !== false))
270
+ ) {
271
+ _accessibilityState = {..._accessibilityState, disabled: _disabled};
251
272
  }
252
273
 
253
- const _hasOnPressOrOnLongPress =
254
- props.onPress != null || props.onLongPress != null;
274
+ const _accessible = Platform.select({
275
+ ios: accessible !== false,
276
+ android:
277
+ accessible == null ? onPress != null || onLongPress != null : accessible,
278
+ default: accessible !== false,
279
+ });
255
280
 
281
+ const hasTextAncestor = useContext(TextAncestor);
256
282
  if (hasTextAncestor) {
257
283
  return (
258
284
  <NativeVirtualText
259
285
  {...restProps}
260
286
  {...eventHandlersForText}
261
- accessibilityLabel={ariaLabel ?? accessibilityLabel}
287
+ accessibilityLabel={_accessibilityLabel}
288
+ accessibilityState={_accessibilityState}
262
289
  accessibilityLevel={ariaLevel ?? accessibilityLevel} // Windows
263
290
  accessibilityPosInSet={ariaPosinset ?? accessibilityPosInSet} // Windows
264
291
  accessibilitySetSize={ariaSetsize ?? accessibilitySetSize} // Windows
265
- accessibilityState={_accessibilityState}
266
- allowFontScaling={allowFontScaling !== false}
267
- disabled={_disabled}
268
- ellipsizeMode={ellipsizeMode ?? 'tail'}
269
292
  isHighlighted={isHighlighted}
270
293
  isPressable={isPressable}
271
- nativeID={id ?? nativeID}
272
- numberOfLines={numberOfLines}
294
+ nativeID={_nativeID}
295
+ numberOfLines={_numberOfLines}
273
296
  ref={forwardedRef}
274
297
  selectable={_selectable}
275
- selectionColor={selectionColor}
276
- style={style}
298
+ selectionColor={_selectionColor}
299
+ style={processedStyle}
277
300
  />
278
301
  );
302
+ // [Windows] Following else statement forked due to PR #5740
279
303
  } else {
280
- let styleProps: ViewStyleProp = (restProps.style: any);
304
+ let styleProps: ViewStyleProp = (style: any);
281
305
  if (
282
- global.RN$Bridgeless !== true && // [Windows] Fabric text handles borders, but on paper we need to wrap it in an extra view
283
306
  styleProps &&
284
307
  styleProps.borderColor &&
285
308
  (styleProps.borderWidth ||
@@ -342,16 +365,12 @@ const Text: React.AbstractComponent<
342
365
  <NativeText
343
366
  {...textPropsLessStyle}
344
367
  {...eventHandlersForText}
345
- accessibilityLabel={ariaLabel ?? accessibilityLabel}
368
+ accessibilityLabel={_accessibilityLabel}
346
369
  accessibilityLevel={ariaLevel ?? accessibilityLevel} // Windows
347
370
  accessibilityPosInSet={ariaPosinset ?? accessibilityPosInSet} // Windows
348
371
  accessibilitySetSize={ariaSetsize ?? accessibilitySetSize} // Windows
349
- accessibilityState={nativeTextAccessibilityState}
350
- accessible={
351
- accessible == null && Platform.OS === 'android'
352
- ? _hasOnPressOrOnLongPress
353
- : _accessible
354
- }
372
+ accessibilityState={_accessibilityState}
373
+ accessible={_accessible}
355
374
  allowFontScaling={allowFontScaling !== false}
356
375
  disabled={_disabled}
357
376
  ellipsizeMode={ellipsizeMode ?? 'tail'}
@@ -360,7 +379,7 @@ const Text: React.AbstractComponent<
360
379
  numberOfLines={numberOfLines}
361
380
  ref={forwardedRef}
362
381
  selectable={_selectable}
363
- selectionColor={selectionColor}
382
+ selectionColor={_selectionColor}
364
383
  style={((rest: any): TextStyleProp)}
365
384
  />
366
385
  </TextAncestor.Provider>
@@ -372,31 +391,28 @@ const Text: React.AbstractComponent<
372
391
  <NativeText
373
392
  {...restProps}
374
393
  {...eventHandlersForText}
375
- accessibilityLabel={ariaLabel ?? accessibilityLabel}
394
+ accessibilityLabel={_accessibilityLabel}
376
395
  accessibilityLevel={ariaLevel ?? accessibilityLevel} // Windows
377
396
  accessibilityPosInSet={ariaPosinset ?? accessibilityPosInSet} // Windows
378
397
  accessibilitySetSize={ariaSetsize ?? accessibilitySetSize} // Windows
379
- accessibilityState={nativeTextAccessibilityState}
380
- accessible={
381
- accessible == null && Platform.OS === 'android'
382
- ? _hasOnPressOrOnLongPress
383
- : _accessible
384
- }
398
+ accessibilityState={_accessibilityState}
399
+ accessible={_accessible}
385
400
  allowFontScaling={allowFontScaling !== false}
386
401
  disabled={_disabled}
387
402
  ellipsizeMode={ellipsizeMode ?? 'tail'}
388
403
  isHighlighted={isHighlighted}
389
- nativeID={id ?? nativeID}
404
+ nativeID={_nativeID}
390
405
  numberOfLines={numberOfLines}
391
406
  ref={forwardedRef}
392
407
  selectable={_selectable}
393
- selectionColor={selectionColor}
394
- style={style}
408
+ selectionColor={_selectionColor}
409
+ style={processedStyle}
395
410
  />
396
411
  </TextAncestor.Provider>
397
412
  );
398
413
  }
399
414
  }
415
+ // [Windows #5740]
400
416
  });
401
417
 
402
418
  Text.displayName = 'Text';
@@ -429,4 +445,4 @@ const verticalAlignToTextAlignVerticalMap = {
429
445
  middle: 'center',
430
446
  };
431
447
 
432
- module.exports = Text;
448
+ module.exports = Text;
@@ -8,13 +8,14 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
12
+ import type {ProcessedColorValue} from '../StyleSheet/processColor';
13
+ import type {PressEvent} from '../Types/CoreEventTypes';
14
+ import type {TextProps} from './TextProps';
15
+
11
16
  import {createViewConfig} from '../NativeComponent/ViewConfig';
12
17
  import UIManager from '../ReactNative/UIManager';
13
18
  import createReactNativeComponentClass from '../Renderer/shims/createReactNativeComponentClass';
14
- import {type HostComponent} from '../Renderer/shims/ReactNativeTypes';
15
- import {type ProcessedColorValue} from '../StyleSheet/processColor';
16
- import {type PressEvent} from '../Types/CoreEventTypes';
17
- import {type TextProps} from './TextProps';
18
19
 
19
20
  type NativeTextProps = $ReadOnly<{
20
21
  ...TextProps,
@@ -26,23 +26,23 @@ import type {
26
26
  } from '../Types/CoreEventTypes';
27
27
  import type {Node} from 'react';
28
28
 
29
- export type PressRetentionOffset = $ReadOnly<{|
29
+ export type PressRetentionOffset = $ReadOnly<{
30
30
  top: number,
31
31
  left: number,
32
32
  bottom: number,
33
33
  right: number,
34
- |}>;
34
+ }>;
35
35
 
36
- type PointerEventProps = $ReadOnly<{|
36
+ type PointerEventProps = $ReadOnly<{
37
37
  onPointerEnter?: (event: PointerEvent) => void,
38
38
  onPointerLeave?: (event: PointerEvent) => void,
39
39
  onPointerMove?: (event: PointerEvent) => void,
40
- |}>;
40
+ }>;
41
41
 
42
42
  /**
43
43
  * @see https://reactnative.dev/docs/text#reference
44
44
  */
45
- export type TextProps = $ReadOnly<{|
45
+ export type TextProps = $ReadOnly<{
46
46
  ...PointerEventProps,
47
47
 
48
48
  /**
@@ -265,4 +265,4 @@ export type TextProps = $ReadOnly<{|
265
265
  * See https://reactnative.dev/docs/text.html#linebreakstrategyios
266
266
  */
267
267
  lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
268
- |}>;
268
+ }>;
@@ -26,23 +26,23 @@ import type {
26
26
  } from '../Types/CoreEventTypes';
27
27
  import type {Node} from 'react';
28
28
 
29
- export type PressRetentionOffset = $ReadOnly<{|
29
+ export type PressRetentionOffset = $ReadOnly<{
30
30
  top: number,
31
31
  left: number,
32
32
  bottom: number,
33
33
  right: number,
34
- |}>;
34
+ }>;
35
35
 
36
- type PointerEventProps = $ReadOnly<{|
36
+ type PointerEventProps = $ReadOnly<{
37
37
  onPointerEnter?: (event: PointerEvent) => void,
38
38
  onPointerLeave?: (event: PointerEvent) => void,
39
39
  onPointerMove?: (event: PointerEvent) => void,
40
- |}>;
40
+ }>;
41
41
 
42
42
  /**
43
43
  * @see https://reactnative.dev/docs/text#reference
44
44
  */
45
- export type TextProps = $ReadOnly<{|
45
+ export type TextProps = $ReadOnly<{
46
46
  ...PointerEventProps,
47
47
 
48
48
  /**
@@ -272,4 +272,4 @@ export type TextProps = $ReadOnly<{|
272
272
  * See https://reactnative.dev/docs/text.html#linebreakstrategyios
273
273
  */
274
274
  lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
275
- |}>;
275
+ }>;
@@ -76,7 +76,8 @@ export function getEnforcing<T: TurboModule>(name: string): T {
76
76
  'Verify that a module by this name is registered in the native binary.';
77
77
 
78
78
  if (shouldReportDebugInfo()) {
79
- message += 'Bridgeless mode: ' + (isBridgeless() ? 'true' : 'false') + '. ';
79
+ message +=
80
+ ' Bridgeless mode: ' + (isBridgeless() ? 'true' : 'false') + '. ';
80
81
  message +=
81
82
  'TurboModule interop: ' +
82
83
  (isTurboModuleInteropEnabled() ? 'true' : 'false') +
@@ -10,6 +10,7 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ import type {EventSubscription} from '../vendor/emitter/EventEmitter';
13
14
  import type {SyntheticEvent} from './CoreEventTypes';
14
15
 
15
16
  // Event types
@@ -40,3 +41,5 @@ type DefaultTypes = number | boolean | string | $ReadOnlyArray<string>;
40
41
  //
41
42
  // eslint-disable-next-line no-unused-vars
42
43
  export type WithDefault<Type: DefaultTypes, Value: ?Type | string> = ?Type;
44
+
45
+ export type EventEmitter<T> = (handler: (T) => mixed) => EventSubscription;
@@ -12,23 +12,45 @@ import processColor from '../StyleSheet/processColor';
12
12
  import Appearance from './Appearance';
13
13
  import NativeDevLoadingView from './NativeDevLoadingView';
14
14
 
15
+ const COLOR_SCHEME = {
16
+ dark: {
17
+ refresh: {
18
+ backgroundColor: '#2584e8',
19
+ textColor: '#ffffff',
20
+ },
21
+ load: {
22
+ backgroundColor: '#fafafa',
23
+ textColor: '#242526',
24
+ },
25
+ },
26
+ default: {
27
+ refresh: {
28
+ backgroundColor: '#2584e8',
29
+ textColor: '#ffffff',
30
+ },
31
+ load: {
32
+ backgroundColor: '#404040',
33
+ textColor: '#ffffff',
34
+ },
35
+ },
36
+ };
37
+
15
38
  module.exports = {
16
39
  showMessage(message: string, type: 'load' | 'refresh') {
17
40
  if (NativeDevLoadingView) {
41
+ const colorScheme =
42
+ Appearance.getColorScheme() === 'dark'
43
+ ? COLOR_SCHEME.dark
44
+ : COLOR_SCHEME.default;
45
+
46
+ const colorSet = colorScheme[type];
47
+
18
48
  let backgroundColor;
19
49
  let textColor;
20
50
 
21
- if (type === 'refresh') {
22
- backgroundColor = processColor('#2584e8');
23
- textColor = processColor('#ffffff');
24
- } else if (type === 'load') {
25
- if (Appearance.getColorScheme() === 'dark') {
26
- backgroundColor = processColor('#fafafa');
27
- textColor = processColor('#242526');
28
- } else {
29
- backgroundColor = processColor('#404040');
30
- textColor = processColor('#ffffff');
31
- }
51
+ if (colorSet) {
52
+ backgroundColor = processColor(colorSet.backgroundColor);
53
+ textColor = processColor(colorSet.textColor);
32
54
  }
33
55
 
34
56
  NativeDevLoadingView.showMessage(
@@ -44,6 +44,7 @@ class Dimensions {
44
44
  * @returns {DisplayMetrics? | DisplayMetricsAndroid?} Value for the dimension.
45
45
  */
46
46
  static get(dim: string): DisplayMetrics | DisplayMetricsAndroid {
47
+ // $FlowFixMe[invalid-computed-prop]
47
48
  invariant(dimensions[dim], 'No dimension set for key ' + dim);
48
49
  return dimensions[dim];
49
50
  }