react-native-windows 0.68.1 → 0.69.0-preview.1

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 (392) hide show
  1. package/.flowconfig +1 -3
  2. package/Chakra/ChakraHelpers.cpp +0 -1
  3. package/Directory.Build.props +3 -0
  4. package/Directory.Build.targets +1 -1
  5. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1411 -0
  6. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +336 -0
  7. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +182 -0
  8. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
  9. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  10. package/Libraries/Alert/Alert.windows.js +2 -2
  11. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  12. package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
  13. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  14. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  15. package/Libraries/Animated/animations/TimingAnimation.js +6 -11
  16. package/Libraries/Animated/createAnimatedComponent.js +2 -2
  17. package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
  19. package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
  20. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  21. package/Libraries/AppState/AppState.js +1 -1
  22. package/Libraries/Blob/URL.js +7 -1
  23. package/Libraries/Components/Button.js +3 -0
  24. package/Libraries/Components/Button.windows.js +4 -0
  25. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
  26. package/Libraries/Components/Pressable/Pressable.js +3 -3
  27. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  28. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
  29. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
  30. package/Libraries/Components/ScrollView/ScrollView.js +1 -1
  31. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
  32. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
  33. package/Libraries/Components/Slider/Slider.js +0 -2
  34. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
  35. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  36. package/Libraries/Components/Switch/Switch.js +11 -1
  37. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
  38. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
  39. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
  40. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  41. package/Libraries/Components/TextInput/TextInput.js +1 -8
  42. package/Libraries/Components/TextInput/TextInput.windows.js +4 -9
  43. package/Libraries/Components/TextInput/TextInputState.js +10 -2
  44. package/Libraries/Components/TextInput/TextInputState.windows.js +10 -3
  45. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  46. package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
  47. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
  48. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +6 -5
  49. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
  50. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
  51. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
  52. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
  53. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -0
  54. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  55. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  56. package/Libraries/Components/View/View.windows.js +33 -1
  57. package/Libraries/Components/View/ViewNativeComponent.js +68 -8
  58. package/Libraries/Components/View/ViewPropTypes.js +36 -4
  59. package/Libraries/Components/View/ViewPropTypes.windows.js +36 -4
  60. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  61. package/Libraries/Core/ExceptionsManager.js +1 -1
  62. package/Libraries/Core/RawEventEmitter.js +38 -0
  63. package/Libraries/Core/ReactNativeVersion.js +2 -2
  64. package/Libraries/Core/polyfillPromise.js +32 -0
  65. package/Libraries/Core/setUpReactDevTools.js +3 -2
  66. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  67. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  68. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
  69. package/Libraries/Events/CustomEvent.js +32 -0
  70. package/Libraries/Events/EventPolyfill.js +239 -0
  71. package/Libraries/Image/Image.android.js +0 -6
  72. package/Libraries/Image/Image.ios.js +0 -6
  73. package/Libraries/Image/Image.windows.js +2 -8
  74. package/Libraries/Image/ImageViewNativeComponent.js +18 -3
  75. package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
  76. package/Libraries/Inspector/Inspector.js +2 -4
  77. package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
  78. package/Libraries/Interaction/InteractionManager.js +1 -12
  79. package/Libraries/Interaction/TaskQueue.js +5 -4
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
  81. package/Libraries/Linking/Linking.js +1 -1
  82. package/Libraries/Lists/FlatList.js +27 -6
  83. package/Libraries/Lists/VirtualizedList.js +71 -55
  84. package/Libraries/Lists/VirtualizedListContext.js +7 -3
  85. package/Libraries/Lists/VirtualizedSectionList.js +2 -2
  86. package/Libraries/Lists/__tests__/{FillRateHelper-test.windows.js → FillRateHelper-test.js} +2 -2
  87. package/Libraries/Lists/__tests__/{FlatList-test.windows.js → FlatList-test.js} +2 -2
  88. package/Libraries/Lists/__tests__/{SectionList-test.windows.js → SectionList-test.js} +14 -14
  89. package/Libraries/Lists/__tests__/{VirtualizeUtils-test.windows.js → VirtualizeUtils-test.js} +3 -3
  90. package/Libraries/Lists/__tests__/{VirtualizedList-test.windows.js → VirtualizedList-test.js} +91 -42
  91. package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.windows.js → VirtualizedSectionList-test.js} +13 -13
  92. package/Libraries/LogBox/Data/LogBoxData.js +2 -2
  93. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  94. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  95. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  96. package/Libraries/LogBox/LogBox.js +2 -21
  97. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
  98. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
  99. package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
  100. package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
  101. package/Libraries/NativeComponent/BaseViewConfig.windows.js +334 -0
  102. package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
  103. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
  104. package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
  105. package/Libraries/NativeComponent/ViewConfig.js +4 -4
  106. package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
  107. package/Libraries/Network/FormData.js +7 -1
  108. package/Libraries/Pressability/Pressability.js +115 -46
  109. package/Libraries/Pressability/Pressability.windows.js +190 -74
  110. package/Libraries/Pressability/PressabilityDebug.js +5 -9
  111. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  112. package/Libraries/ReactNative/AppContainer.js +1 -1
  113. package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
  114. package/Libraries/ReactNative/PaperUIManager.windows.js +5 -5
  115. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
  116. package/Libraries/ReactNative/UIManager.js +2 -3
  117. package/Libraries/ReactNative/renderApplication.js +4 -0
  118. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
  119. package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
  120. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
  121. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
  122. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
  123. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
  124. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
  125. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  126. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
  127. package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
  128. package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
  129. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  130. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  131. package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
  132. package/Libraries/StyleSheet/processTransform.windows.js +272 -0
  133. package/Libraries/Text/Text.js +13 -7
  134. package/Libraries/Text/Text.windows.js +16 -7
  135. package/Libraries/Text/TextNativeComponent.js +2 -0
  136. package/Libraries/Text/TextProps.js +10 -0
  137. package/Libraries/Types/CoreEventTypes.js +13 -1
  138. package/Libraries/Types/CoreEventTypes.windows.js +26 -1
  139. package/Libraries/Utilities/Appearance.js +0 -8
  140. package/Libraries/Utilities/HMRClient.js +1 -1
  141. package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
  142. package/Libraries/Utilities/codegenNativeComponent.js +17 -6
  143. package/Libraries/Utilities/stringifySafe.js +4 -1
  144. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
  145. package/Libraries/WebSocket/WebSocket.js +1 -1
  146. package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
  147. package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
  148. package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
  149. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +1 -4
  150. package/Microsoft.ReactNative/DynamicReader.cpp +3 -3
  151. package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -0
  152. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +36 -2
  153. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.h +1 -0
  154. package/Microsoft.ReactNative/Fabric/DWriteHelpers.cpp +19 -0
  155. package/Microsoft.ReactNative/Fabric/DWriteHelpers.h +13 -0
  156. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -19
  157. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  158. package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +36 -10
  159. package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +2 -0
  160. package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +107 -0
  161. package/Microsoft.ReactNative/Fabric/SliderComponentView.h +51 -0
  162. package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +109 -0
  163. package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +52 -0
  164. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +197 -0
  165. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +308 -0
  166. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +52 -0
  167. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.cpp +31 -0
  168. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.h +33 -0
  169. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.cpp +81 -0
  170. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.h +132 -0
  171. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.cpp +193 -0
  172. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.h +85 -0
  173. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.cpp +76 -0
  174. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.h +99 -0
  175. package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +35 -3
  176. package/Microsoft.ReactNative/Fabric/ViewComponentView.h +1 -0
  177. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +5 -0
  178. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +5 -0
  179. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +46 -0
  180. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +30 -0
  181. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +2 -0
  182. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +1 -9
  183. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +3 -1
  184. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +119 -57
  185. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -1
  186. package/Microsoft.ReactNative/IViewManager.idl +3 -3
  187. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -107
  188. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +2 -2
  189. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -0
  190. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -0
  191. package/Microsoft.ReactNative/Modules/CreateModules.cpp +3 -3
  192. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -5
  193. package/Microsoft.ReactNative/Modules/TimingModule.cpp +2 -2
  194. package/Microsoft.ReactNative/Modules/TimingModule.h +2 -2
  195. package/Microsoft.ReactNative/ReactHost/{ReactContext.cpp → MsoReactContext.cpp} +1 -1
  196. package/Microsoft.ReactNative/ReactHost/{ReactContext.h → MsoReactContext.h} +0 -0
  197. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +15 -2
  198. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  199. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -1
  200. package/Microsoft.ReactNative/ReactInstanceSettings.idl +12 -2
  201. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +1 -1
  202. package/Microsoft.ReactNative/ReactRootView.cpp +2 -1
  203. package/Microsoft.ReactNative/RedBox.cpp +3 -2
  204. package/Microsoft.ReactNative/TurboModulesProvider.cpp +3 -2
  205. package/Microsoft.ReactNative/TurboModulesProvider.h +4 -1
  206. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +41 -0
  207. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +3 -2
  208. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +32 -0
  209. package/Microsoft.ReactNative/Views/ControlViewManager.h +11 -0
  210. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -2
  211. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +13 -2
  212. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +149 -22
  213. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  214. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +5 -11
  215. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +2 -1
  216. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +12 -4
  217. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
  218. package/Microsoft.ReactNative/Views/TextViewManager.cpp +2 -2
  219. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +163 -37
  220. package/Microsoft.ReactNative/Views/TouchEventHandler.h +11 -4
  221. package/Microsoft.ReactNative/Views/ViewPanel.cpp +3 -23
  222. package/Microsoft.ReactNative/Views/ViewPanel.h +2 -3
  223. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +21 -0
  224. package/Microsoft.ReactNative/XamlUIService.cpp +1 -1
  225. package/Microsoft.ReactNative/XamlView.h +8 -3
  226. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +3 -5
  227. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  228. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +11 -2
  229. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -0
  230. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +19 -14
  231. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +4 -0
  232. package/Microsoft.ReactNative.Cxx/JSValueReader.h +2 -2
  233. package/Microsoft.ReactNative.Cxx/JSValueWriter.h +5 -5
  234. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -1
  235. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +2 -3
  236. package/Microsoft.ReactNative.Cxx/NativeModules.h +3 -3
  237. package/Microsoft.ReactNative.Cxx/ReactContext.h +3 -3
  238. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +3 -3
  239. package/Microsoft.ReactNative.Cxx/XamlUtils.h +44 -5
  240. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -6
  241. package/Mso/activeObject/activeObject.h +2 -2
  242. package/Mso/compilerAdapters/cppMacros.h +3 -5
  243. package/Mso/errorCode/errorProvider.h +2 -2
  244. package/Mso/errorCode/maybe.h +4 -4
  245. package/Mso/functional/functor.h +6 -6
  246. package/Mso/functional/functorRef.h +2 -2
  247. package/Mso/future/details/executor.h +2 -2
  248. package/Mso/future/details/futureFuncInl.h +4 -4
  249. package/Mso/future/details/ifuture.h +3 -3
  250. package/Mso/future/details/maybeInvoker.h +6 -6
  251. package/Mso/future/details/promiseGroupInl.h +4 -4
  252. package/Mso/future/details/promiseInl.h +4 -4
  253. package/Mso/future/details/resultTraits.h +4 -4
  254. package/Mso/future/details/whenAllInl.h +1 -1
  255. package/Mso/future/future.h +13 -13
  256. package/Mso/guid/msoGuidDetails.h +1 -1
  257. package/Mso/memoryApi/memoryApi.h +13 -7
  258. package/Mso/motifCpp/gTestAdapter.h +1 -1
  259. package/Mso/motifCpp/testInfo.h +7 -9
  260. package/Mso/object/make.h +8 -8
  261. package/Mso/object/objectRefCount.h +3 -5
  262. package/Mso/object/objectWithWeakRef.h +10 -14
  263. package/Mso/object/queryCast.h +4 -4
  264. package/Mso/object/refCountedObject.h +4 -4
  265. package/Mso/object/unknownObject.h +7 -7
  266. package/Mso/platformAdapters/windowsFirst.h +1 -1
  267. package/Mso/smartPtr/cntPtr.h +8 -8
  268. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +96 -4
  269. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -2
  270. package/Mso/src/future/futureImpl.h +1 -1
  271. package/Mso/src/memoryApi/memoryApi.cpp +4 -4
  272. package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
  273. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +26 -0
  274. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.Common.props +12 -0
  275. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  276. package/PropertySheets/JSEngine.props +1 -1
  277. package/PropertySheets/React.Cpp.props +13 -0
  278. package/PropertySheets/WinUI.props +3 -6
  279. package/ReactCommon/ReactCommon.vcxproj +2 -4
  280. package/ReactCommon/ReactCommon.vcxproj.filters +4 -1
  281. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/JSCRuntime.cpp +1480 -0
  282. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/decorator.h +753 -0
  283. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/jsi.h +1331 -0
  284. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1431 -0
  285. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +103 -0
  286. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +87 -0
  287. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +61 -0
  288. package/ReactCommon/Yoga.cpp +1 -1
  289. package/Scripts/{Microsoft.ReactNative.ProjectReunion.nuspec → Microsoft.ReactNative.WindowsAppSDK.nuspec} +7 -9
  290. package/Scripts/OfficeReact.Win32.nuspec +1 -3
  291. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -1
  292. package/Scripts/copyRNLibraries.js +8 -8
  293. package/Scripts/just.js +1 -1
  294. package/Scripts/rnw-dependencies.ps1 +41 -10
  295. package/Scripts/run-desktop-integration-tests.js +6 -6
  296. package/Shared/AbiSafe.h +3 -3
  297. package/Shared/BaseScriptStoreImpl.cpp +1 -1
  298. package/Shared/CppRuntimeOptions.h +50 -0
  299. package/Shared/CreateModules.h +4 -0
  300. package/Shared/DevSupportManager.cpp +34 -33
  301. package/Shared/DevSupportManager.h +1 -2
  302. package/Shared/HermesRuntimeHolder.cpp +23 -14
  303. package/Shared/HermesRuntimeHolder.h +8 -2
  304. package/Shared/IDevSupportManager.h +1 -2
  305. package/Shared/InspectorPackagerConnection.cpp +7 -5
  306. package/Shared/InspectorPackagerConnection.h +2 -2
  307. package/Shared/JSI/ChakraApi.cpp +0 -1
  308. package/Shared/JSI/ChakraRuntime.cpp +1 -2
  309. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +1 -1
  310. package/Shared/JSI/RuntimeHolder.h +2 -0
  311. package/Shared/Modules/HttpModule.cpp +198 -0
  312. package/Shared/Modules/HttpModule.h +53 -0
  313. package/Shared/Modules/WebSocketModule.cpp +5 -1
  314. package/Shared/Modules/WebSocketModule.h +8 -5
  315. package/Shared/Networking/IHttpResource.h +53 -0
  316. package/Shared/{IWebSocketResource.h → Networking/IWebSocketResource.h} +3 -3
  317. package/Shared/Networking/OriginPolicy.h +15 -0
  318. package/Shared/Networking/OriginPolicyHttpFilter.cpp +746 -0
  319. package/Shared/Networking/OriginPolicyHttpFilter.h +112 -0
  320. package/Shared/Networking/WinRTHttpResource.cpp +347 -0
  321. package/Shared/Networking/WinRTHttpResource.h +67 -0
  322. package/Shared/Networking/WinRTTypes.h +30 -0
  323. package/Shared/{WinRTWebSocketResource.cpp → Networking/WinRTWebSocketResource.cpp} +31 -22
  324. package/Shared/{WinRTWebSocketResource.h → Networking/WinRTWebSocketResource.h} +3 -3
  325. package/Shared/OInstance.cpp +37 -11
  326. package/Shared/RuntimeOptions.cpp +93 -15
  327. package/Shared/RuntimeOptions.h +22 -9
  328. package/Shared/Shared.vcxitems +126 -5
  329. package/Shared/Shared.vcxitems.filters +55 -15
  330. package/Shared/Threading/BatchingQueueThread.cpp +1 -1
  331. package/Shared/Utils/WinRTConversions.cpp +22 -0
  332. package/Shared/Utils/WinRTConversions.h +15 -0
  333. package/Shared/tracing/fbsystrace.h +2 -2
  334. package/codegen/NativeActionSheetManagerSpec.g.h +6 -0
  335. package/codegen/NativeAnimatedModuleSpec.g.h +43 -37
  336. package/codegen/NativeAnimatedTurboModuleSpec.g.h +43 -37
  337. package/codegen/NativePushNotificationManagerIOSSpec.g.h +2 -0
  338. package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
  339. package/codegen/react/components/rnwcore/EventEmitters.cpp +133 -0
  340. package/codegen/react/components/rnwcore/EventEmitters.h +0 -18
  341. package/codegen/react/components/rnwcore/Props.cpp +0 -13
  342. package/codegen/react/components/rnwcore/Props.h +0 -16
  343. package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
  344. package/codegen/react/components/rnwcore/ShadowNodes.h +0 -10
  345. package/include/Shared/cdebug.h +9 -9
  346. package/index.js +30 -25
  347. package/index.windows.js +30 -25
  348. package/jest/preprocessor.js +24 -107
  349. package/jest/preprocessor_DO_NOT_USE.js +122 -0
  350. package/metro.config.js +3 -70
  351. package/package.json +29 -28
  352. package/react-native.config.js +40 -6
  353. package/rntypes/index.d.ts +19 -7
  354. package/stubs/glog/logging.h +1 -1
  355. package/template/cpp-app/src/App.h +0 -4
  356. package/template/cs-app/src/App.xaml.cs +0 -5
  357. package/template/cs-app/src/MainPage.xaml.cs +1 -10
  358. package/template/cs-app-WinAppSDK/MyApp/App.xaml +16 -0
  359. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +70 -0
  360. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +14 -0
  361. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +38 -0
  362. package/template/cs-app-WinAppSDK/MyApp/Package.appxmanifest +48 -0
  363. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +19 -0
  364. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +19 -0
  365. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +19 -0
  366. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +10 -0
  367. package/template/cs-app-WinAppSDK/MyApp/app.manifest +15 -0
  368. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +23 -0
  369. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +49 -0
  370. package/template/cs-app-WinAppSDK/proj/MyApp.sln +43 -0
  371. package/template/cs-app-WinAppSDK/proj/NuGet.Config +17 -0
  372. package/template/metro.devMode.config.js +2 -51
  373. package/typings-index.js +5 -1
  374. package/typings-index.js.map +1 -1
  375. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
  376. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
  377. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  378. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.windows.js +0 -45
  379. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -360
  380. package/Libraries/Components/View/ReactNativeViewViewConfig.windows.js +0 -390
  381. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
  382. package/Libraries/ReactNative/UIManagerInjection.js +0 -15
  383. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
  384. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
  385. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
  386. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
  387. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
  388. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
  389. package/PropertySheets/CppEnablePackageReferences.props +0 -13
  390. package/Shared/IHttpResource.h +0 -34
  391. package/Shared/cdebug.cpp +0 -6
  392. package/include/Shared/ViewManager.h +0 -34
@@ -29,6 +29,7 @@ export interface Spec extends TurboModule {
29
29
  +startOperationBatch: () => void;
30
30
  +finishOperationBatch: () => void;
31
31
  +createAnimatedNode: (tag: number, config: AnimatedNodeConfig) => void;
32
+ +updateAnimatedNodeConfig?: (tag: number, config: AnimatedNodeConfig) => void;
32
33
  +getValue: (tag: number, saveValueCallback: SaveValueCallback) => void;
33
34
  +startListeningToAnimatedNodeValue: (tag: number) => void;
34
35
  +stopListeningToAnimatedNodeValue: (tag: number) => void;
@@ -29,6 +29,7 @@ export interface Spec extends TurboModule {
29
29
  +startOperationBatch: () => void;
30
30
  +finishOperationBatch: () => void;
31
31
  +createAnimatedNode: (tag: number, config: AnimatedNodeConfig) => void;
32
+ +updateAnimatedNodeConfig?: (tag: number, config: AnimatedNodeConfig) => void;
32
33
  +getValue: (tag: number, saveValueCallback: SaveValueCallback) => void;
33
34
  +startListeningToAnimatedNodeValue: (tag: number) => void;
34
35
  +stopListeningToAnimatedNodeValue: (tag: number) => void;
@@ -19,10 +19,11 @@ const {shouldUseNativeDriver} = require('../NativeAnimatedHelper');
19
19
 
20
20
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
21
21
  import type {AnimationConfig, EndCallback} from './Animation';
22
+ import type {RgbaValue} from '../nodes/AnimatedColor';
22
23
 
23
24
  import AnimatedColor from '../nodes/AnimatedColor';
24
25
 
25
- export type TimingAnimationConfig = {
26
+ export type TimingAnimationConfig = $ReadOnly<{
26
27
  ...AnimationConfig,
27
28
  toValue:
28
29
  | number
@@ -33,27 +34,21 @@ export type TimingAnimationConfig = {
33
34
  ...
34
35
  }
35
36
  | AnimatedValueXY
36
- | {
37
- r: number,
38
- g: number,
39
- b: number,
40
- a: number,
41
- ...
42
- }
37
+ | RgbaValue
43
38
  | AnimatedColor
44
39
  | AnimatedInterpolation,
45
40
  easing?: (value: number) => number,
46
41
  duration?: number,
47
42
  delay?: number,
48
- };
43
+ }>;
49
44
 
50
- export type TimingAnimationConfigSingle = {
45
+ export type TimingAnimationConfigSingle = $ReadOnly<{
51
46
  ...AnimationConfig,
52
47
  toValue: number | AnimatedValue | AnimatedInterpolation,
53
48
  easing?: (value: number) => number,
54
49
  duration?: number,
55
50
  delay?: number,
56
- };
51
+ }>;
57
52
 
58
53
  let _easeInOut;
59
54
  function easeInOut() {
@@ -24,8 +24,8 @@ const setAndForwardRef = require('../Utilities/setAndForwardRef');
24
24
  let animatedComponentNextId = 1;
25
25
 
26
26
  export type AnimatedComponentType<
27
- Props: {+[string]: mixed, ...},
28
- Instance,
27
+ -Props: {+[string]: mixed, ...},
28
+ +Instance = mixed,
29
29
  > = React.AbstractComponent<
30
30
  $ObjMap<
31
31
  Props &
@@ -14,12 +14,15 @@ import AnimatedValue from './AnimatedValue';
14
14
  import AnimatedWithChildren from './AnimatedWithChildren';
15
15
  import normalizeColor from '../../StyleSheet/normalizeColor';
16
16
  import {processColorObject} from '../../StyleSheet/PlatformColorValueTypes';
17
+ import NativeAnimatedHelper from '../NativeAnimatedHelper';
17
18
 
19
+ import type {PlatformConfig} from '../AnimatedPlatformConfig';
18
20
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
19
21
  import type {NativeColorValue} from '../../StyleSheet/PlatformColorValueTypes';
22
+ import type {ProcessedColorValue} from '../../StyleSheet/processColor';
20
23
 
21
24
  type ColorListenerCallback = (value: string) => mixed;
22
- type RgbaValue = {
25
+ export type RgbaValue = {
23
26
  +r: number,
24
27
  +g: number,
25
28
  +b: number,
@@ -38,26 +41,37 @@ const defaultColor: RgbaValue = {r: 0, g: 0, b: 0, a: 1.0};
38
41
  let _uniqueId = 1;
39
42
 
40
43
  /* eslint no-bitwise: 0 */
41
- function processColor(color?: ?ColorValue): ?(RgbaValue | NativeColorValue) {
44
+ function processColor(
45
+ color?: ?(ColorValue | RgbaValue),
46
+ ): ?(RgbaValue | NativeColorValue) {
42
47
  if (color === undefined || color === null) {
43
48
  return null;
44
49
  }
45
50
 
46
- let normalizedColor = normalizeColor(color);
51
+ if (isRgbaValue(color)) {
52
+ // $FlowIgnore[incompatible-cast] - Type is verified above
53
+ return (color: RgbaValue);
54
+ }
55
+
56
+ let normalizedColor: ?ProcessedColorValue = normalizeColor(
57
+ // $FlowIgnore[incompatible-cast] - Type is verified above
58
+ (color: ColorValue),
59
+ );
47
60
  if (normalizedColor === undefined || normalizedColor === null) {
48
61
  return null;
49
62
  }
50
63
 
51
64
  if (typeof normalizedColor === 'object') {
52
- const processedColorObj = processColorObject(normalizedColor);
65
+ const processedColorObj: ?NativeColorValue =
66
+ processColorObject(normalizedColor);
53
67
  if (processedColorObj != null) {
54
68
  return processedColorObj;
55
69
  }
56
70
  } else if (typeof normalizedColor === 'number') {
57
- const r = (normalizedColor & 0xff000000) >>> 24;
58
- const g = (normalizedColor & 0x00ff0000) >>> 16;
59
- const b = (normalizedColor & 0x0000ff00) >>> 8;
60
- const a = (normalizedColor & 0x000000ff) / 255;
71
+ const r: number = (normalizedColor & 0xff000000) >>> 24;
72
+ const g: number = (normalizedColor & 0x00ff0000) >>> 16;
73
+ const b: number = (normalizedColor & 0x0000ff00) >>> 8;
74
+ const a: number = (normalizedColor & 0x000000ff) / 255;
61
75
 
62
76
  return {r, g, b, a};
63
77
  }
@@ -90,6 +104,7 @@ export default class AnimatedColor extends AnimatedWithChildren {
90
104
  g: AnimatedValue;
91
105
  b: AnimatedValue;
92
106
  a: AnimatedValue;
107
+ nativeColor: ?NativeColorValue;
93
108
  _listeners: {
94
109
  [key: string]: {
95
110
  r: string,
@@ -99,13 +114,12 @@ export default class AnimatedColor extends AnimatedWithChildren {
99
114
  ...
100
115
  },
101
116
  ...
102
- };
117
+ } = {};
103
118
 
104
119
  constructor(valueIn?: ?(RgbaValue | RgbaAnimatedValue | ColorValue)) {
105
120
  super();
106
121
  let value: RgbaValue | RgbaAnimatedValue | ColorValue =
107
- valueIn || defaultColor;
108
-
122
+ valueIn ?? defaultColor;
109
123
  if (isRgbaAnimatedValue(value)) {
110
124
  // $FlowIgnore[incompatible-cast] - Type is verified above
111
125
  const rgbaAnimatedValue: RgbaAnimatedValue = (value: RgbaAnimatedValue);
@@ -114,32 +128,65 @@ export default class AnimatedColor extends AnimatedWithChildren {
114
128
  this.b = rgbaAnimatedValue.b;
115
129
  this.a = rgbaAnimatedValue.a;
116
130
  } else {
117
- // Handle potential parsable string color or platform color object
118
- if (!isRgbaValue(value)) {
119
- // $FlowIgnore[incompatible-cast] - Type is verified via conditionals
120
- value = processColor((value: ColorValue)) || {r: 0, g: 0, b: 0, a: 1.0};
121
- // TODO: support platform color
131
+ const processedColor: RgbaValue | NativeColorValue =
132
+ // $FlowIgnore[incompatible-cast] - Type is verified above
133
+ processColor((value: ColorValue | RgbaValue)) ?? defaultColor;
134
+ let initColor: RgbaValue = defaultColor;
135
+ if (isRgbaValue(processedColor)) {
136
+ // $FlowIgnore[incompatible-cast] - Type is verified above
137
+ initColor = (processedColor: RgbaValue);
138
+ } else {
139
+ // $FlowIgnore[incompatible-cast] - Type is verified above
140
+ this.nativeColor = (processedColor: NativeColorValue);
122
141
  }
123
142
 
124
- // $FlowIgnore[incompatible-cast] - Type is verified via conditionals
125
- const rgbaValue: RgbaValue = (value: RgbaValue);
126
- this.r = new AnimatedValue(rgbaValue.r);
127
- this.g = new AnimatedValue(rgbaValue.g);
128
- this.b = new AnimatedValue(rgbaValue.b);
129
- this.a = new AnimatedValue(rgbaValue.a);
143
+ this.r = new AnimatedValue(initColor.r);
144
+ this.g = new AnimatedValue(initColor.g);
145
+ this.b = new AnimatedValue(initColor.b);
146
+ this.a = new AnimatedValue(initColor.a);
147
+
148
+ if (this.nativeColor) {
149
+ if (!this.__isNative) {
150
+ this.__makeNative();
151
+ }
152
+ }
130
153
  }
131
- this._listeners = {};
132
154
  }
133
155
 
134
156
  /**
135
157
  * Directly set the value. This will stop any animations running on the value
136
158
  * and update all the bound properties.
137
159
  */
138
- setValue(value: {r: number, g: number, b: number, a: number, ...}): void {
139
- this.r.setValue(value.r);
140
- this.g.setValue(value.g);
141
- this.b.setValue(value.b);
142
- this.a.setValue(value.a);
160
+ setValue(value: RgbaValue | ColorValue): void {
161
+ this.nativeColor = null;
162
+
163
+ const processedColor: RgbaValue | NativeColorValue =
164
+ processColor(value) ?? defaultColor;
165
+ if (isRgbaValue(processedColor)) {
166
+ // $FlowIgnore[incompatible-cast] - Type is verified above
167
+ const rgbaValue: RgbaValue = (processedColor: RgbaValue);
168
+ this.r.setValue(rgbaValue.r);
169
+ this.g.setValue(rgbaValue.g);
170
+ this.b.setValue(rgbaValue.b);
171
+ this.a.setValue(rgbaValue.a);
172
+ } else {
173
+ // $FlowIgnore[incompatible-cast] - Type is verified above
174
+ this.nativeColor = (processedColor: NativeColorValue);
175
+ }
176
+
177
+ if (this.nativeColor) {
178
+ if (!this.__isNative) {
179
+ this.__makeNative();
180
+ }
181
+
182
+ const nativeTag = this.__getNativeTag();
183
+ NativeAnimatedHelper.API.setWaitingForIdentifier(nativeTag.toString());
184
+ NativeAnimatedHelper.API.updateAnimatedNodeConfig(
185
+ nativeTag,
186
+ this.__getNativeConfig(),
187
+ );
188
+ NativeAnimatedHelper.API.unsetWaitingForIdentifier(nativeTag.toString());
189
+ }
143
190
  }
144
191
 
145
192
  /**
@@ -147,7 +194,7 @@ export default class AnimatedColor extends AnimatedWithChildren {
147
194
  * via `setValue`, an animation, or `Animated.event`. Useful for compensating
148
195
  * things like the start of a pan gesture.
149
196
  */
150
- setOffset(offset: {r: number, g: number, b: number, a: number, ...}): void {
197
+ setOffset(offset: RgbaValue): void {
151
198
  this.r.setOffset(offset.r);
152
199
  this.g.setOffset(offset.g);
153
200
  this.b.setOffset(offset.b);
@@ -263,4 +310,23 @@ export default class AnimatedColor extends AnimatedWithChildren {
263
310
  this.a.__removeChild(this);
264
311
  super.__detach();
265
312
  }
313
+
314
+ __makeNative(platformConfig: ?PlatformConfig) {
315
+ this.r.__makeNative(platformConfig);
316
+ this.g.__makeNative(platformConfig);
317
+ this.b.__makeNative(platformConfig);
318
+ this.a.__makeNative(platformConfig);
319
+ super.__makeNative(platformConfig);
320
+ }
321
+
322
+ __getNativeConfig(): {...} {
323
+ return {
324
+ type: 'color',
325
+ r: this.r.__getNativeTag(),
326
+ g: this.g.__getNativeTag(),
327
+ b: this.b.__getNativeTag(),
328
+ a: this.a.__getNativeTag(),
329
+ nativeColor: this.nativeColor,
330
+ };
331
+ }
266
332
  }
@@ -23,14 +23,14 @@ import type {PlatformConfig} from '../AnimatedPlatformConfig';
23
23
 
24
24
  type ExtrapolateType = 'extend' | 'identity' | 'clamp';
25
25
 
26
- export type InterpolationConfigType = {
26
+ export type InterpolationConfigType = $ReadOnly<{
27
27
  inputRange: $ReadOnlyArray<number>,
28
28
  outputRange: $ReadOnlyArray<number> | $ReadOnlyArray<string>,
29
29
  easing?: (input: number) => number,
30
30
  extrapolate?: ExtrapolateType,
31
31
  extrapolateLeft?: ExtrapolateType,
32
32
  extrapolateRight?: ExtrapolateType,
33
- };
33
+ }>;
34
34
 
35
35
  const linear = (t: number) => t;
36
36
 
@@ -46,20 +46,23 @@ function createInterpolation(
46
46
  }
47
47
 
48
48
  const outputRange: Array<number> = (config.outputRange: any);
49
- checkInfiniteRange('outputRange', outputRange);
50
49
 
51
50
  const inputRange = config.inputRange;
52
- checkInfiniteRange('inputRange', inputRange);
53
- checkValidInputRange(inputRange);
54
51
 
55
- invariant(
56
- inputRange.length === outputRange.length,
57
- 'inputRange (' +
58
- inputRange.length +
59
- ') and outputRange (' +
60
- outputRange.length +
61
- ') must have the same length',
62
- );
52
+ if (__DEV__) {
53
+ checkInfiniteRange('outputRange', outputRange);
54
+ checkInfiniteRange('inputRange', inputRange);
55
+ checkValidInputRange(inputRange);
56
+
57
+ invariant(
58
+ inputRange.length === outputRange.length,
59
+ 'inputRange (' +
60
+ inputRange.length +
61
+ ') and outputRange (' +
62
+ outputRange.length +
63
+ ') must have the same length',
64
+ );
65
+ }
63
66
 
64
67
  const easing = config.easing || linear;
65
68
 
@@ -276,16 +279,10 @@ function findRange(input: number, inputRange: $ReadOnlyArray<number>) {
276
279
 
277
280
  function checkValidInputRange(arr: $ReadOnlyArray<number>) {
278
281
  invariant(arr.length >= 2, 'inputRange must have at least 2 elements');
282
+ const message =
283
+ 'inputRange must be monotonically non-decreasing ' + String(arr);
279
284
  for (let i = 1; i < arr.length; ++i) {
280
- invariant(
281
- arr[i] >= arr[i - 1],
282
- /* $FlowFixMe[incompatible-type] (>=0.13.0) - In the addition expression
283
- * below this comment, one or both of the operands may be something that
284
- * doesn't cleanly convert to a string, like undefined, null, and object,
285
- * etc. If you really mean this implicit string conversion, you can do
286
- * something like String(myThing) */
287
- 'inputRange must be monotonically non-decreasing ' + arr,
288
- );
285
+ invariant(arr[i] >= arr[i - 1], message);
289
286
  }
290
287
  }
291
288
 
@@ -130,12 +130,12 @@ class AnimatedNode {
130
130
  if (data.tag !== this.__getNativeTag()) {
131
131
  return;
132
132
  }
133
- this._onAnimatedValueUpdateReceived(data.value);
133
+ this.__onAnimatedValueUpdateReceived(data.value);
134
134
  },
135
135
  );
136
136
  }
137
137
 
138
- _onAnimatedValueUpdateReceived(value: number) {
138
+ __onAnimatedValueUpdateReceived(value: number) {
139
139
  this.__callListeners(value);
140
140
  }
141
141
 
@@ -211,7 +211,7 @@ class AnimatedValue extends AnimatedWithChildren {
211
211
  }
212
212
  }
213
213
 
214
- _onAnimatedValueUpdateReceived(value: number): void {
214
+ __onAnimatedValueUpdateReceived(value: number): void {
215
215
  this._updateValue(value, false /*flush*/);
216
216
  }
217
217
 
@@ -154,7 +154,7 @@ class AppState {
154
154
  case 'focus':
155
155
  // $FlowIssue[invalid-tuple-arity] Flow cannot refine handler based on the event type
156
156
  // $FlowIssue[incompatible-call]
157
- emitter.addListener('appStateFocusChange', listener);
157
+ emitter.removeListener('appStateFocusChange', listener);
158
158
  return;
159
159
  }
160
160
  throw new Error('Trying to unsubscribe from unknown event: ' + type);
@@ -101,7 +101,13 @@ export class URLSearchParams {
101
101
  }
102
102
  const last = this._searchParams.length - 1;
103
103
  return this._searchParams.reduce((acc, curr, index) => {
104
- return acc + curr.join('=') + (index === last ? '' : '&');
104
+ return (
105
+ acc +
106
+ encodeURIComponent(curr[0]) +
107
+ '=' +
108
+ encodeURIComponent(curr[1]) +
109
+ (index === last ? '' : '&')
110
+ );
105
111
  }, '');
106
112
  }
107
113
  }
@@ -146,6 +146,7 @@ type ButtonProps = $ReadOnly<{|
146
146
  onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
147
147
  accessibilityState?: ?AccessibilityState,
148
148
  accessibilityHint?: ?string,
149
+ accessibilityLanguage?: ?Stringish,
149
150
  |}>;
150
151
 
151
152
  /**
@@ -277,6 +278,7 @@ class Button extends React.Component<ButtonProps> {
277
278
  accessible,
278
279
  accessibilityActions,
279
280
  accessibilityHint,
281
+ accessibilityLanguage,
280
282
  onAccessibilityAction,
281
283
  } = this.props;
282
284
  const buttonStyles = [styles.button];
@@ -320,6 +322,7 @@ class Button extends React.Component<ButtonProps> {
320
322
  onAccessibilityAction={onAccessibilityAction}
321
323
  accessibilityLabel={accessibilityLabel}
322
324
  accessibilityHint={accessibilityHint}
325
+ accessibilityLanguage={accessibilityLanguage}
323
326
  accessibilityRole="button"
324
327
  accessibilityState={accessibilityState}
325
328
  hasTVPreferredFocus={hasTVPreferredFocus}
@@ -148,6 +148,7 @@ type ButtonProps = $ReadOnly<{|
148
148
  onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
149
149
  accessibilityState?: ?AccessibilityState,
150
150
  accessibilityHint?: ?string,
151
+ accessibilityLanguage?: ?Stringish,
151
152
 
152
153
  // [Windows
153
154
  /**
@@ -298,6 +299,7 @@ class Button extends React.Component<
298
299
  accessible,
299
300
  accessibilityActions,
300
301
  accessibilityHint,
302
+ accessibilityLanguage,
301
303
  onAccessibilityAction,
302
304
  tabIndex,
303
305
  } = this.props;
@@ -340,8 +342,10 @@ class Button extends React.Component<
340
342
  if (Platform.OS === 'windows') {
341
343
  return (
342
344
  <Touchable
345
+ accessible={accessible}
343
346
  accessibilityLabel={accessibilityLabel}
344
347
  accessibilityHint={accessibilityHint}
348
+ accessibilityLanguage={accessibilityLanguage}
345
349
  accessibilityRole="button"
346
350
  accessibilityState={accessibilityState}
347
351
  hasTVPreferredFocus={hasTVPreferredFocus}
@@ -11,6 +11,11 @@
11
11
  import type {TurboModule} from '../../TurboModule/RCTExport';
12
12
  import * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';
13
13
 
14
+ /**
15
+ * This file backs native modules that are used internally at Meta
16
+ * and this JS spec was intentionally left here. In the meanwhile this
17
+ * file should not be deleted.
18
+ */
14
19
  export interface Spec extends TurboModule {
15
20
  +open: (options: Object) => Promise<Object>;
16
21
  }
@@ -22,7 +22,7 @@ import type {
22
22
  } from '../View/ViewAccessibility';
23
23
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
24
24
  import usePressability from '../../Pressability/usePressability';
25
- import {normalizeRect, type RectOrSize} from '../../StyleSheet/Rect';
25
+ import {type RectOrSize} from '../../StyleSheet/Rect';
26
26
  import type {
27
27
  LayoutEvent,
28
28
  MouseEvent,
@@ -43,6 +43,7 @@ type Props = $ReadOnly<{|
43
43
  accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
44
44
  accessibilityElementsHidden?: ?boolean,
45
45
  accessibilityHint?: ?Stringish,
46
+ accessibilityLanguage?: ?Stringish,
46
47
  accessibilityIgnoresInvertColors?: ?boolean,
47
48
  accessibilityLabel?: ?Stringish,
48
49
  accessibilityLiveRegion?: ?('none' | 'polite' | 'assertive'),
@@ -181,6 +182,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
181
182
  delayLongPress,
182
183
  disabled,
183
184
  focusable,
185
+ hitSlop,
184
186
  onHoverIn,
185
187
  onHoverOut,
186
188
  onLongPress,
@@ -201,8 +203,6 @@ function Pressable(props: Props, forwardedRef): React.Node {
201
203
 
202
204
  const [pressed, setPressed] = usePressState(testOnly_pressed === true);
203
205
 
204
- const hitSlop = normalizeRect(props.hitSlop);
205
-
206
206
  const accessibilityState =
207
207
  disabled != null
208
208
  ? {...props.accessibilityState, disabled}
@@ -22,7 +22,7 @@ import type {
22
22
  } from '../View/ViewAccessibility';
23
23
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
24
24
  import usePressability from '../../Pressability/usePressability';
25
- import {normalizeRect, type RectOrSize} from '../../StyleSheet/Rect';
25
+ import {type RectOrSize} from '../../StyleSheet/Rect';
26
26
  import type {
27
27
  LayoutEvent,
28
28
  MouseEvent,
@@ -49,6 +49,7 @@ type Props = $ReadOnly<{|
49
49
  accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
50
50
  accessibilityElementsHidden?: ?boolean,
51
51
  accessibilityHint?: ?Stringish,
52
+ accessibilityLanguage?: ?Stringish,
52
53
  accessibilityIgnoresInvertColors?: ?boolean,
53
54
  accessibilityLabel?: ?Stringish,
54
55
  accessibilityLiveRegion?: ?('none' | 'polite' | 'assertive'),
@@ -227,6 +228,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
227
228
  delayLongPress,
228
229
  disabled,
229
230
  focusable,
231
+ hitSlop,
230
232
  onHoverIn,
231
233
  onHoverOut,
232
234
  onLongPress,
@@ -269,8 +271,6 @@ function Pressable(props: Props, forwardedRef): React.Node {
269
271
 
270
272
  const [pressed, setPressed] = usePressState(testOnly_pressed === true);
271
273
 
272
- const hitSlop = normalizeRect(props.hitSlop);
273
-
274
274
  const accessibilityState =
275
275
  disabled != null
276
276
  ? {...props.accessibilityState, disabled}
@@ -9,46 +9,55 @@
9
9
  */
10
10
 
11
11
  import type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentType';
12
- import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
12
+ import type {
13
+ HostComponent,
14
+ PartialViewConfig,
15
+ } from '../../Renderer/shims/ReactNativeTypes';
13
16
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
14
17
 
18
+ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
19
+ uiViewClassName: 'AndroidHorizontalScrollView',
20
+ bubblingEventTypes: {},
21
+ directEventTypes: {},
22
+ validAttributes: {
23
+ decelerationRate: true,
24
+ disableIntervalMomentum: true,
25
+ endFillColor: {process: require('../../StyleSheet/processColor')},
26
+ fadingEdgeLength: true,
27
+ nestedScrollEnabled: true,
28
+ overScrollMode: true,
29
+ pagingEnabled: true,
30
+ persistentScrollbar: true,
31
+ scrollEnabled: true,
32
+ scrollPerfTag: true,
33
+ sendMomentumEvents: true,
34
+ showsHorizontalScrollIndicator: true,
35
+ snapToAlignment: true,
36
+ snapToEnd: true,
37
+ snapToInterval: true,
38
+ snapToStart: true,
39
+ snapToOffsets: true,
40
+ contentOffset: true,
41
+ borderBottomLeftRadius: true,
42
+ borderBottomRightRadius: true,
43
+ borderRadius: true,
44
+ borderStyle: true,
45
+ borderRightColor: {process: require('../../StyleSheet/processColor')},
46
+ borderColor: {process: require('../../StyleSheet/processColor')},
47
+ borderBottomColor: {process: require('../../StyleSheet/processColor')},
48
+ borderTopLeftRadius: true,
49
+ borderTopColor: {process: require('../../StyleSheet/processColor')},
50
+ removeClippedSubviews: true,
51
+ borderTopRightRadius: true,
52
+ borderLeftColor: {process: require('../../StyleSheet/processColor')},
53
+ pointerEvents: true,
54
+ },
55
+ };
56
+
15
57
  const AndroidHorizontalScrollViewNativeComponent: HostComponent<Props> =
16
- NativeComponentRegistry.get<Props>('AndroidHorizontalScrollView', () => ({
17
- uiViewClassName: 'AndroidHorizontalScrollView',
18
- bubblingEventTypes: {},
19
- directEventTypes: {},
20
- validAttributes: {
21
- decelerationRate: true,
22
- disableIntervalMomentum: true,
23
- endFillColor: {process: require('../../StyleSheet/processColor')},
24
- fadingEdgeLength: true,
25
- nestedScrollEnabled: true,
26
- overScrollMode: true,
27
- pagingEnabled: true,
28
- persistentScrollbar: true,
29
- scrollEnabled: true,
30
- scrollPerfTag: true,
31
- sendMomentumEvents: true,
32
- showsHorizontalScrollIndicator: true,
33
- snapToAlignment: true,
34
- snapToEnd: true,
35
- snapToInterval: true,
36
- snapToStart: true,
37
- snapToOffsets: true,
38
- contentOffset: true,
39
- borderBottomLeftRadius: true,
40
- borderBottomRightRadius: true,
41
- borderRadius: true,
42
- borderStyle: true,
43
- borderRightColor: {process: require('../../StyleSheet/processColor')},
44
- borderColor: {process: require('../../StyleSheet/processColor')},
45
- borderBottomColor: {process: require('../../StyleSheet/processColor')},
46
- borderTopLeftRadius: true,
47
- borderTopColor: {process: require('../../StyleSheet/processColor')},
48
- removeClippedSubviews: true,
49
- borderTopRightRadius: true,
50
- borderLeftColor: {process: require('../../StyleSheet/processColor')},
51
- },
52
- }));
58
+ NativeComponentRegistry.get<Props>(
59
+ 'AndroidHorizontalScrollView',
60
+ () => __INTERNAL_VIEW_CONFIG,
61
+ );
53
62
 
54
63
  export default AndroidHorizontalScrollViewNativeComponent;
@@ -8,16 +8,24 @@
8
8
  * @flow
9
9
  */
10
10
 
11
- import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
11
+ import type {
12
+ HostComponent,
13
+ PartialViewConfig,
14
+ } from '../../Renderer/shims/ReactNativeTypes';
12
15
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
13
16
  import type {ViewProps as Props} from '../View/ViewPropTypes';
14
17
 
18
+ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
19
+ uiViewClassName: 'RCTScrollContentView',
20
+ bubblingEventTypes: {},
21
+ directEventTypes: {},
22
+ validAttributes: {},
23
+ };
24
+
15
25
  const ScrollContentViewNativeComponent: HostComponent<Props> =
16
- NativeComponentRegistry.get<Props>('RCTScrollContentView', () => ({
17
- uiViewClassName: 'RCTScrollContentView',
18
- bubblingEventTypes: {},
19
- directEventTypes: {},
20
- validAttributes: {},
21
- }));
26
+ NativeComponentRegistry.get<Props>(
27
+ 'RCTScrollContentView',
28
+ () => __INTERNAL_VIEW_CONFIG,
29
+ );
22
30
 
23
31
  export default ScrollContentViewNativeComponent;
@@ -675,7 +675,7 @@ type State = {|
675
675
 
676
676
  const IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
677
677
 
678
- type ScrollViewComponentStatics = $ReadOnly<{|
678
+ export type ScrollViewComponentStatics = $ReadOnly<{|
679
679
  Context: typeof ScrollViewContext,
680
680
  |}>;
681
681