react-native-windows 0.72.13 → 0.73.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 (587) hide show
  1. package/.flowconfig +16 -5
  2. package/Chakra/ChakraHelpers.cpp +1 -1
  3. package/Chakra/ChakraUtils.cpp +1 -1
  4. package/Chakra/ChakraValue.h +1 -1
  5. package/Common/packages.lock.json +13 -0
  6. package/Directory.Build.props +6 -2
  7. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
  8. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
  9. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Folly/packages.lock.json +23 -0
  12. package/Libraries/Animated/Animated.js +1 -1
  13. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  14. package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
  15. package/Libraries/Animated/NativeAnimatedModule.js +6 -2
  16. package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
  17. package/Libraries/Animated/animations/Animation.js +57 -3
  18. package/Libraries/Animated/animations/DecayAnimation.js +9 -0
  19. package/Libraries/Animated/animations/SpringAnimation.js +8 -0
  20. package/Libraries/Animated/animations/TimingAnimation.js +8 -0
  21. package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
  22. package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
  23. package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
  24. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  25. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  26. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  27. package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
  28. package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
  29. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  31. package/Libraries/Animated/useAnimatedProps.js +9 -10
  32. package/Libraries/AppState/AppState.d.ts +1 -1
  33. package/Libraries/AppState/NativeAppState.js +8 -4
  34. package/Libraries/AppTheme/AppTheme.js +5 -5
  35. package/Libraries/BatchedBridge/MessageQueue.js +45 -36
  36. package/Libraries/Blob/Blob.js +6 -2
  37. package/Libraries/Blob/BlobManager.js +9 -10
  38. package/Libraries/Blob/BlobRegistry.js +14 -9
  39. package/Libraries/Blob/File.js +1 -1
  40. package/Libraries/Blob/FileReader.js +1 -2
  41. package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
  43. package/Libraries/Components/Glyph/Glyph.js +1 -1
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
  45. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
  46. package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
  47. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  48. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
  49. package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
  50. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  51. package/Libraries/Components/Pressable/Pressable.js +3 -2
  52. package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
  53. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
  57. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
  58. package/Libraries/Components/ScrollView/ScrollView.js +3 -1
  59. package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
  60. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
  61. package/Libraries/Components/Switch/Switch.js +1 -0
  62. package/Libraries/Components/Switch/Switch.windows.js +259 -0
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  64. package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
  65. package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
  66. package/Libraries/Components/TextInput/TextInput.js +62 -10
  67. package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
  68. package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
  69. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
  70. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  71. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  72. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
  73. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  74. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
  75. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
  76. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
  77. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
  78. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
  79. package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
  80. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  81. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  82. package/Libraries/Components/View/View.js +46 -32
  83. package/Libraries/Components/View/View.windows.js +23 -7
  84. package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
  85. package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
  86. package/Libraries/Components/View/ViewNativeComponent.js +1 -0
  87. package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
  88. package/Libraries/Components/View/ViewPropTypes.js +18 -3
  89. package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
  90. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  91. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
  92. package/Libraries/Core/ExceptionsManager.js +16 -7
  93. package/Libraries/Core/ExtendedError.js +12 -0
  94. package/Libraries/Core/ReactNativeVersion.js +3 -3
  95. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  96. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  97. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  98. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  99. package/Libraries/Core/setUpMutationObserver.js +16 -0
  100. package/Libraries/Core/setUpPerformance.js +6 -13
  101. package/Libraries/Core/setUpPerformanceObserver.js +16 -0
  102. package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
  103. package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
  104. package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
  105. package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
  106. package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
  107. package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
  108. package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
  109. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
  110. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
  111. package/Libraries/Image/Image.android.js +8 -2
  112. package/Libraries/Image/Image.d.ts +1 -1
  113. package/Libraries/Image/Image.ios.js +4 -1
  114. package/Libraries/Image/Image.windows.js +6 -3
  115. package/Libraries/Image/ImageBackground.js +3 -0
  116. package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
  117. package/Libraries/Inspector/NetworkOverlay.js +2 -2
  118. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
  119. package/Libraries/Interaction/PanResponder.js +1 -4
  120. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  121. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
  122. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
  123. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
  124. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
  125. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  126. package/Libraries/Lists/FlatList.d.ts +2 -1
  127. package/Libraries/Lists/FlatList.js +15 -5
  128. package/Libraries/Lists/SectionList.js +4 -0
  129. package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
  130. package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
  131. package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
  132. package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
  134. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  135. package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
  136. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  137. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  138. package/Libraries/MutationObserver/MutationRecord.js +82 -0
  139. package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
  140. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  141. package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
  142. package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
  143. package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
  144. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
  145. package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
  146. package/Libraries/Network/RCTNetworking.android.js +2 -1
  147. package/Libraries/Network/XMLHttpRequest.js +1 -1
  148. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
  149. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
  150. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
  151. package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
  152. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  153. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
  154. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
  155. package/Libraries/Pressability/Pressability.js +28 -3
  156. package/Libraries/Pressability/Pressability.windows.js +30 -5
  157. package/Libraries/ReactNative/AppContainer.js +2 -3
  158. package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
  159. package/Libraries/ReactNative/AppRegistry.js +66 -53
  160. package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
  161. package/Libraries/ReactNative/FabricUIManager.js +143 -34
  162. package/Libraries/ReactNative/I18nManager.js +5 -11
  163. package/Libraries/ReactNative/NativeI18nManager.js +7 -5
  164. package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
  165. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  166. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
  167. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  168. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
  169. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
  170. package/Libraries/ReactNative/UIManager.js +8 -0
  171. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
  173. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
  174. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  175. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  176. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
  177. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
  178. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
  179. package/Libraries/Renderer/shims/ReactFabric.js +5 -6
  180. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
  181. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  182. package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
  183. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
  184. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
  185. package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
  186. package/Libraries/Share/Share.d.ts +3 -9
  187. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
  188. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
  189. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
  190. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  191. package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
  192. package/Libraries/StyleSheet/StyleSheet.js +3 -0
  193. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
  194. package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
  195. package/Libraries/StyleSheet/flattenStyle.js +4 -0
  196. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
  197. package/Libraries/StyleSheet/processColor.js +1 -2
  198. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  199. package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
  200. package/Libraries/Text/Text.d.ts +5 -5
  201. package/Libraries/Text/Text.js +17 -10
  202. package/Libraries/Text/Text.windows.js +53 -20
  203. package/Libraries/Text/TextProps.windows.js +275 -0
  204. package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
  205. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  206. package/Libraries/Types/CoreEventTypes.d.ts +5 -2
  207. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
  208. package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
  209. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
  210. package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
  211. package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
  212. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  213. package/Libraries/Utilities/Platform.android.js +12 -8
  214. package/Libraries/Utilities/Platform.d.ts +1 -0
  215. package/Libraries/Utilities/Platform.flow.js +84 -0
  216. package/Libraries/Utilities/Platform.flow.windows.js +111 -0
  217. package/Libraries/Utilities/Platform.ios.js +12 -8
  218. package/Libraries/Utilities/Platform.windows.js +12 -8
  219. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  220. package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
  221. package/Libraries/Utilities/SceneTracker.js +1 -1
  222. package/Libraries/Utilities/createPerformanceLogger.js +63 -32
  223. package/Libraries/Utilities/useColorScheme.js +7 -8
  224. package/Libraries/WebPerformance/MemoryInfo.js +1 -1
  225. package/Libraries/WebPerformance/NativePerformance.js +3 -8
  226. package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
  227. package/Libraries/WebPerformance/Performance.js +42 -15
  228. package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
  229. package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
  230. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
  231. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
  232. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
  233. package/Libraries/__tests__/ViewWindows-test.js +3 -3
  234. package/Libraries/platform-types.d.ts +6 -2
  235. package/Libraries/promiseRejectionTrackingOptions.js +1 -3
  236. package/Libraries/vendor/emitter/EventEmitter.js +20 -18
  237. package/Microsoft.ReactNative/Composition.Input.idl +103 -0
  238. package/Microsoft.ReactNative/CompositionContext.idl +31 -8
  239. package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
  240. package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
  241. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
  242. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
  243. package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
  244. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
  245. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
  246. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
  247. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
  248. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
  249. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
  250. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
  251. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
  252. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
  253. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
  254. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
  255. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
  256. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
  257. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
  258. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
  259. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
  260. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
  261. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
  262. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
  263. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
  264. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
  265. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
  266. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
  267. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
  268. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
  269. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
  270. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
  271. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
  272. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
  273. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
  274. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
  276. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
  277. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
  278. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
  279. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
  280. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
  281. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
  282. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
  283. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
  284. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
  285. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
  286. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
  287. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
  288. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
  289. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
  290. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
  291. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
  292. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
  293. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
  294. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
  295. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
  296. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
  297. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  298. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
  299. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
  300. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
  301. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
  302. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
  303. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
  304. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
  305. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
  306. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
  307. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
  308. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
  309. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
  310. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
  311. package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
  312. package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
  313. package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
  314. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
  315. package/Microsoft.ReactNative/IReactContext.cpp +1 -1
  316. package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
  317. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
  318. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
  319. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
  320. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
  321. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
  322. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
  323. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  324. package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
  325. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
  326. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
  327. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
  328. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
  329. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
  330. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
  331. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
  332. package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
  333. package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
  334. package/Microsoft.ReactNative/ReactApplication.h +4 -4
  335. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
  336. package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
  337. package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
  338. package/Microsoft.ReactNative/ReactHost/React.h +3 -6
  339. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
  340. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
  341. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
  342. package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
  343. package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
  344. package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
  345. package/Microsoft.ReactNative/ReactRootView.h +2 -2
  346. package/Microsoft.ReactNative/ReactSupport.h +1 -1
  347. package/Microsoft.ReactNative/RedBox.cpp +1 -1
  348. package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
  349. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
  350. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
  351. package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
  352. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
  353. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
  354. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
  355. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
  356. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
  357. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
  358. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
  359. package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
  360. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  361. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
  362. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
  363. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
  364. package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
  365. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
  366. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
  367. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
  368. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
  369. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  370. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
  371. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  372. package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
  373. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
  374. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
  375. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
  376. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
  377. package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
  378. package/Microsoft.ReactNative/XamlHelper.h +1 -1
  379. package/Microsoft.ReactNative/packages.lock.json +128 -0
  380. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
  381. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
  382. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
  383. package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
  384. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
  385. package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
  386. package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
  387. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
  388. package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
  389. package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
  390. package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
  391. package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
  392. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
  393. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
  394. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
  395. package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
  396. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
  397. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
  398. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
  399. package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
  400. package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
  401. package/Mso/compilerAdapters/compilerFeatures.h +1 -1
  402. package/Mso/compilerAdapters/functionDecorations.h +6 -6
  403. package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
  404. package/Mso/dispatchQueue/dispatchQueue.h +3 -3
  405. package/Mso/motifCpp/motifCppTest.h +1 -1
  406. package/Mso/motifCpp/testCheck.h +1 -1
  407. package/Mso/oacr/oacr.h +1 -1
  408. package/Mso/smartPtr/smartPointerBase.h +1 -1
  409. package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
  410. package/Mso/src/dispatchQueue/queueService.cpp +1 -1
  411. package/Mso/src/dispatchQueue/taskQueue.h +1 -1
  412. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
  413. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
  414. package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
  415. package/Mso/src/future/futureImpl.cpp +5 -5
  416. package/Mso/src/future/futureImpl.h +1 -1
  417. package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
  418. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
  419. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
  420. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
  421. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
  422. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
  423. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
  424. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  425. package/PropertySheets/HybridCRT.props +34 -0
  426. package/PropertySheets/JSEngine.props +1 -2
  427. package/PropertySheets/React.Cpp.props +0 -1
  428. package/PropertySheets/Warnings.props +1 -1
  429. package/PropertySheets/WinUI.props +1 -1
  430. package/ReactCommon/ReactCommon.vcxproj +15 -9
  431. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
  444. package/ReactCommon/Yoga.cpp +497 -3895
  445. package/ReactCommon/packages.lock.json +30 -0
  446. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
  447. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  448. package/Scripts/rnw-dependencies.ps1 +79 -26
  449. package/Shared/BaseScriptStoreImpl.cpp +42 -13
  450. package/Shared/BaseScriptStoreImpl.h +1 -1
  451. package/Shared/Composition/AutoDraw.h +36 -0
  452. package/Shared/CxxMessageQueue.cpp +1 -1
  453. package/Shared/DevSettings.h +3 -0
  454. package/Shared/DevSupportManager.h +1 -1
  455. package/Shared/Hasher.cpp +64 -0
  456. package/Shared/Hasher.h +24 -0
  457. package/Shared/HermesRuntimeHolder.cpp +6 -6
  458. package/Shared/IDevSupportManager.h +1 -1
  459. package/Shared/JSI/ChakraApi.cpp +1 -1
  460. package/Shared/JSI/ChakraRuntime.cpp +10 -10
  461. package/Shared/JSI/ChakraRuntime.h +6 -6
  462. package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
  463. package/Shared/Modules/IRequestBodyHandler.h +1 -1
  464. package/Shared/Modules/IUriHandler.h +1 -1
  465. package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
  466. package/Shared/Modules/WebSocketModule.cpp +1 -1
  467. package/Shared/Networking/DefaultBlobResource.cpp +2 -2
  468. package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
  469. package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
  470. package/Shared/OInstance.cpp +9 -23
  471. package/Shared/OInstance.h +1 -1
  472. package/Shared/PackagerConnection.h +1 -1
  473. package/Shared/SafeLoadLibrary.cpp +8 -44
  474. package/Shared/SafeLoadLibrary.h +1 -5
  475. package/Shared/Shared.vcxitems +50 -20
  476. package/Shared/Shared.vcxitems.filters +26 -17
  477. package/Shared/Threading/BatchingQueueThread.cpp +5 -5
  478. package/Shared/Threading/BatchingQueueThread.h +4 -4
  479. package/Shared/TurboModuleManager.cpp +1 -1
  480. package/Shared/Utils.cpp +1 -1
  481. package/Shared/tracing/fbsystrace.h +1 -1
  482. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  483. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  484. package/codegen/NativeAppStateSpec.g.h +11 -21
  485. package/codegen/NativeDeviceInfoSpec.g.h +4 -14
  486. package/codegen/NativeI18nManagerSpec.g.h +6 -16
  487. package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
  488. package/codegen/NativeMutationObserverSpec.g.h +90 -0
  489. package/codegen/NativePerformanceObserverSpec.g.h +19 -13
  490. package/codegen/NativePerformanceSpec.g.h +6 -23
  491. package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
  492. package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
  493. package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
  494. package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
  495. package/codegen/NativeSourceCodeSpec.g.h +3 -13
  496. package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
  497. package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
  498. package/codegen/react/components/rnwcore/Props.h +16 -17
  499. package/codegen/rnwcoreJSI-generated.cpp +1462 -319
  500. package/codegen/rnwcoreJSI.h +1609 -462
  501. package/fmt/packages.lock.json +13 -0
  502. package/index.windows.js +3 -3
  503. package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
  504. package/jest/__tests__/setup-test.js +18 -0
  505. package/jest/mockModal.js +6 -4
  506. package/jest/setup.js +61 -30
  507. package/just-task.js +1 -0
  508. package/package.json +37 -42
  509. package/template/cs-app/proj/MyApp.csproj +0 -1
  510. package/template/cs-lib/proj/MyLib.csproj +0 -1
  511. package/templates/.clang-format +4 -0
  512. package/templates/cpp-app/metro.config.js +51 -0
  513. package/templates/cpp-app/template.config.js +119 -0
  514. package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
  515. package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
  516. package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
  517. package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
  518. package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
  519. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
  520. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
  521. package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
  522. package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
  523. package/templates/cpp-app/windows/MyApp/pch.h +35 -0
  524. package/templates/cpp-app/windows/MyApp/resource.h +18 -0
  525. package/templates/cpp-app/windows/MyApp/small.ico +0 -0
  526. package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
  527. package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
  528. package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
  529. package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
  530. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
  531. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  532. package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
  533. package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
  534. package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
  535. package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
  536. package/templates/cpp-app/windows/MyApp.sln +176 -0
  537. package/templates/cpp-app/windows/_gitignore +41 -0
  538. package/templates/old/generateWrapper.js +67 -0
  539. package/templates/old/uwp-cpp-app/template.config.js +15 -0
  540. package/templates/old/uwp-cpp-lib/template.config.js +15 -0
  541. package/templates/old/uwp-cs-app/template.config.js +15 -0
  542. package/templates/old/uwp-cs-lib/template.config.js +15 -0
  543. package/types/experimental.d.ts +44 -0
  544. package/types/index.d.ts +2 -1
  545. package/types/modules/Devtools.d.ts +1 -0
  546. package/types/modules/globals.d.ts +16 -1
  547. package/Libraries/Components/View/ViewWindows.d.ts +0 -19
  548. package/Libraries/Components/View/ViewWindows.js +0 -22
  549. package/Libraries/Components/View/ViewWindows.js.map +0 -1
  550. package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
  551. package/Libraries/Components/View/ViewWindowsProps.js +0 -8
  552. package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
  553. package/Libraries/Utilities/AcessibilityMapping.js +0 -154
  554. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
  555. package/Libraries/Utilities/useColorScheme.windows.js +0 -26
  556. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
  557. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
  558. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
  559. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
  560. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
  561. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
  562. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
  563. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
  564. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
  565. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
  566. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
  567. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
  568. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
  569. package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
  570. package/Shared/V8JSIRuntimeHolder.cpp +0 -71
  571. package/Shared/V8JSIRuntimeHolder.h +0 -56
  572. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
  573. package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
  574. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
  575. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
  576. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
  577. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
  578. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
  579. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
  580. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
  581. package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
  582. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
  583. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
  584. package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
  585. package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
  586. /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
  587. /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
@@ -65,6 +65,7 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
65
65
  _subscriptions: Array<EventSubscription> = [];
66
66
  viewRef: {current: React.ElementRef<typeof View> | null, ...};
67
67
  _initialFrameHeight: number = 0;
68
+ _bottom: number = 0;
68
69
 
69
70
  constructor(props: Props) {
70
71
  super(props);
@@ -112,14 +113,15 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
112
113
  };
113
114
 
114
115
  _onLayout = async (event: ViewLayoutEvent) => {
115
- const wasFrameNull = this._frame == null;
116
+ const oldFrame = this._frame;
116
117
  this._frame = event.nativeEvent.layout;
117
118
  if (!this._initialFrameHeight) {
118
119
  // save the initial frame height, before the keyboard is visible
119
120
  this._initialFrameHeight = this._frame.height;
120
121
  }
121
122
 
122
- if (wasFrameNull) {
123
+ // update bottom height for the first time or when the height is changed
124
+ if (!oldFrame || oldFrame.height !== this._frame.height) {
123
125
  await this._updateBottomIfNecessary();
124
126
  }
125
127
 
@@ -128,20 +130,32 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
128
130
  }
129
131
  };
130
132
 
133
+ // Avoid unnecessary renders if the KeyboardAvoidingView is disabled.
134
+ _setBottom = (value: number) => {
135
+ const enabled = this.props.enabled ?? true;
136
+ this._bottom = value;
137
+ if (enabled) {
138
+ this.setState({bottom: value});
139
+ }
140
+ };
141
+
131
142
  _updateBottomIfNecessary = async () => {
132
143
  if (this._keyboardEvent == null) {
133
- this.setState({bottom: 0});
144
+ this._setBottom(0);
134
145
  return;
135
146
  }
136
147
 
137
148
  const {duration, easing, endCoordinates} = this._keyboardEvent;
138
149
  const height = await this._relativeKeyboardHeight(endCoordinates);
139
150
 
140
- if (this.state.bottom === height) {
151
+ if (this._bottom === height) {
141
152
  return;
142
153
  }
143
154
 
144
- if (duration && easing) {
155
+ this._setBottom(height);
156
+
157
+ const enabled = this.props.enabled ?? true;
158
+ if (enabled && duration && easing) {
145
159
  LayoutAnimation.configureNext({
146
160
  // We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m
147
161
  duration: duration > 10 ? duration : 10,
@@ -151,9 +165,15 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
151
165
  },
152
166
  });
153
167
  }
154
- this.setState({bottom: height});
155
168
  };
156
169
 
170
+ componentDidUpdate(_: Props, prevState: State): void {
171
+ const enabled = this.props.enabled ?? true;
172
+ if (enabled && this._bottom !== prevState.bottom) {
173
+ this.setState({bottom: this._bottom});
174
+ }
175
+ }
176
+
157
177
  componentDidMount(): void {
158
178
  if (Platform.OS === 'ios') {
159
179
  this._subscriptions = [
@@ -1,5 +1,8 @@
1
1
  import React from 'react';
2
2
  import { IKeyboardProps } from './KeyboardExtProps';
3
+ /**
4
+ * @deprecated - Exported types should already have the keyboarding properties on them
5
+ */
3
6
  export declare const supportKeyboard: <P extends Record<string, any>>(WrappedComponent: React.ComponentType<P>) => React.ForwardRefExoticComponent<React.PropsWithoutRef<P & IKeyboardProps & {
4
- children?: any;
7
+ children?: React.ReactNode;
5
8
  }> & React.RefAttributes<any>>;
@@ -10,6 +10,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.supportKeyboard = void 0;
12
12
  const react_1 = __importDefault(require("react"));
13
+ /**
14
+ * @deprecated - Exported types should already have the keyboarding properties on them
15
+ */
13
16
  const supportKeyboard = (WrappedComponent) => {
14
17
  class SupportKeyboard extends react_1.default.Component {
15
18
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardExt.js","sourceRoot":"","sources":["../../../src/Libraries/Components/Keyboard/KeyboardExt.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,CAAC;;;;;;AAEb,kDAA0B;AAGnB,MAAM,eAAe,GAAG,CAC7B,gBAAwC,EACxC,EAAE;IAUF,MAAM,eAAgB,SAAQ,eAAK,CAAC,SAAgC;QAC3D,MAAM;YACX,MAAM,EAAC,YAAY,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,OAAO,8BAAC,gBAAgB,IAAC,GAAG,EAAE,YAAY,KAAO,IAAU,GAAI,CAAC;QAClE,CAAC;KACF;IAED,OAAO,eAAK,CAAC,UAAU,CACrB,CAAC,KAA+B,EAAE,GAAmB,EAAE,EAAE;QACvD,OAAO,8BAAC,eAAe,OAAK,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,CAAC;IAC3D,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,eAAe,mBAwB1B","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n'use strict';\n\nimport React from 'react';\nimport {IKeyboardProps} from './KeyboardExtProps';\n\nexport const supportKeyboard = <P extends Record<string, any>>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n interface IForwardRefProps {\n forwardedRef: React.Ref<any>;\n }\n\n // children is used to avoid error: Property 'children' does not exist on type 'IntrinsicAttributes & ViewProps &\n // IKeyboardProps & RefAttributes<any>\n type PropsWithoutForwardedRef = P & IKeyboardProps & {children?: any};\n type PropsWithForwardedRef = PropsWithoutForwardedRef & IForwardRefProps;\n\n class SupportKeyboard extends React.Component<PropsWithForwardedRef> {\n public render(): JSX.Element {\n const {forwardedRef, ...rest} = this.props;\n return <WrappedComponent ref={forwardedRef} {...(rest as P)} />;\n }\n }\n\n return React.forwardRef(\n (props: PropsWithoutForwardedRef, ref: React.Ref<any>) => {\n return <SupportKeyboard {...props} forwardedRef={ref} />;\n },\n );\n};\n"]}
1
+ {"version":3,"file":"KeyboardExt.js","sourceRoot":"","sources":["../../../src/Libraries/Components/Keyboard/KeyboardExt.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,CAAC;;;;;;AAEb,kDAA0B;AAG1B;;GAEG;AACI,MAAM,eAAe,GAAG,CAC7B,gBAAwC,EACxC,EAAE;IAUF,MAAM,eAAgB,SAAQ,eAAK,CAAC,SAAgC;QAC3D,MAAM;YACX,MAAM,EAAC,YAAY,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,OAAO,8BAAC,gBAAgB,IAAC,GAAG,EAAE,YAAY,KAAO,IAAU,GAAI,CAAC;QAClE,CAAC;KACF;IAED,OAAO,eAAK,CAAC,UAAU,CACrB,CAAC,KAA+B,EAAE,GAAmB,EAAE,EAAE;QACvD,OAAO,8BAAC,eAAe,OAAK,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,CAAC;IAC3D,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,eAAe,mBAwB1B","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n'use strict';\n\nimport React from 'react';\nimport {IKeyboardProps} from './KeyboardExtProps';\n\n/**\n * @deprecated - Exported types should already have the keyboarding properties on them\n */\nexport const supportKeyboard = <P extends Record<string, any>>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n interface IForwardRefProps {\n forwardedRef: React.Ref<any>;\n }\n\n // children is used to avoid error: Property 'children' does not exist on type 'IntrinsicAttributes & ViewProps &\n // IKeyboardProps & RefAttributes<any>\n type PropsWithoutForwardedRef = P & React.PropsWithChildren<IKeyboardProps>;\n type PropsWithForwardedRef = PropsWithoutForwardedRef & IForwardRefProps;\n\n class SupportKeyboard extends React.Component<PropsWithForwardedRef> {\n public render(): JSX.Element {\n const {forwardedRef, ...rest} = this.props;\n return <WrappedComponent ref={forwardedRef} {...(rest as P)} />;\n }\n }\n\n return React.forwardRef(\n (props: PropsWithoutForwardedRef, ref: React.Ref<any>) => {\n return <SupportKeyboard {...props} forwardedRef={ref} />;\n },\n );\n};\n"]}
@@ -3,35 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  * @format
5
5
  */
6
- import { NativeSyntheticEvent } from 'react-native';
7
- export declare enum EventPhase {
8
- None = 0,
9
- Capturing = 1,
10
- AtTarget = 2,
11
- Bubbling = 3
12
- }
13
- export declare enum HandledEventPhase {
14
- Capturing = 1,
15
- Bubbling = 3
16
- }
17
- export interface INativeKeyboardEvent {
18
- altKey: boolean;
19
- ctrlKey: boolean;
20
- metaKey: boolean;
21
- shiftKey: boolean;
22
- key: string;
23
- code: string;
24
- eventPhase: EventPhase;
25
- }
26
- export interface IHandledKeyboardEvent {
27
- altKey?: boolean;
28
- ctrlKey?: boolean;
29
- metaKey?: boolean;
30
- shiftKey?: boolean;
31
- code: string;
32
- handledEventPhase?: HandledEventPhase;
33
- }
34
- export type IKeyboardEvent = NativeSyntheticEvent<INativeKeyboardEvent>;
6
+ import { IKeyboardEvent, IHandledKeyboardEvent } from '../View/ViewPropTypes';
7
+ /**
8
+ * @deprecated
9
+ */
35
10
  export interface IKeyboardProps {
36
11
  onKeyDown?: (args: IKeyboardEvent) => void;
37
12
  onKeyDownCapture?: (args: IKeyboardEvent) => void;
@@ -5,21 +5,4 @@
5
5
  */
6
6
  'use strict';
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.HandledEventPhase = exports.EventPhase = void 0;
9
- // Enum already part of public API
10
- // eslint-disable-next-line no-restricted-syntax
11
- var EventPhase;
12
- (function (EventPhase) {
13
- EventPhase[EventPhase["None"] = 0] = "None";
14
- EventPhase[EventPhase["Capturing"] = 1] = "Capturing";
15
- EventPhase[EventPhase["AtTarget"] = 2] = "AtTarget";
16
- EventPhase[EventPhase["Bubbling"] = 3] = "Bubbling";
17
- })(EventPhase = exports.EventPhase || (exports.EventPhase = {}));
18
- // Enum already part of public API
19
- // eslint-disable-next-line no-restricted-syntax
20
- var HandledEventPhase;
21
- (function (HandledEventPhase) {
22
- HandledEventPhase[HandledEventPhase["Capturing"] = 1] = "Capturing";
23
- HandledEventPhase[HandledEventPhase["Bubbling"] = 3] = "Bubbling";
24
- })(HandledEventPhase = exports.HandledEventPhase || (exports.HandledEventPhase = {}));
25
8
  //# sourceMappingURL=KeyboardExtProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardExtProps.js","sourceRoot":"","sources":["../../../src/Libraries/Components/Keyboard/KeyboardExtProps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,CAAC;;;AAIb,kCAAkC;AAClC,gDAAgD;AAChD,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2CAAQ,CAAA;IACR,qDAAS,CAAA;IACT,mDAAQ,CAAA;IACR,mDAAQ,CAAA;AACV,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AAED,kCAAkC;AAClC,gDAAgD;AAChD,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mEAAgC,CAAA;IAChC,iEAA8B,CAAA;AAChC,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\n'use strict';\n\nimport {NativeSyntheticEvent} from 'react-native';\n\n// Enum already part of public API\n// eslint-disable-next-line no-restricted-syntax\nexport enum EventPhase {\n None = 0,\n Capturing,\n AtTarget,\n Bubbling,\n}\n\n// Enum already part of public API\n// eslint-disable-next-line no-restricted-syntax\nexport enum HandledEventPhase {\n Capturing = EventPhase.Capturing,\n Bubbling = EventPhase.Bubbling,\n}\n\nexport interface INativeKeyboardEvent {\n altKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n shiftKey: boolean;\n key: string;\n code: string;\n eventPhase: EventPhase;\n}\n\nexport interface IHandledKeyboardEvent {\n altKey?: boolean;\n ctrlKey?: boolean;\n metaKey?: boolean;\n shiftKey?: boolean;\n code: string;\n handledEventPhase?: HandledEventPhase;\n}\n\nexport type IKeyboardEvent = NativeSyntheticEvent<INativeKeyboardEvent>;\n\nexport interface IKeyboardProps {\n onKeyDown?: (args: IKeyboardEvent) => void;\n onKeyDownCapture?: (args: IKeyboardEvent) => void;\n onKeyUp?: (args: IKeyboardEvent) => void;\n onKeyUpCapture?: (args: IKeyboardEvent) => void;\n\n keyDownEvents?: IHandledKeyboardEvent[];\n keyUpEvents?: IHandledKeyboardEvent[];\n}\n"]}
1
+ {"version":3,"file":"KeyboardExtProps.js","sourceRoot":"","sources":["../../../src/Libraries/Components/Keyboard/KeyboardExtProps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,CAAC","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\n'use strict';\n\nimport {IKeyboardEvent, IHandledKeyboardEvent} from '../View/ViewPropTypes';\n\n/**\n * @deprecated\n */\nexport interface IKeyboardProps {\n onKeyDown?: (args: IKeyboardEvent) => void;\n onKeyDownCapture?: (args: IKeyboardEvent) => void;\n onKeyUp?: (args: IKeyboardEvent) => void;\n onKeyUpCapture?: (args: IKeyboardEvent) => void;\n\n keyDownEvents?: IHandledKeyboardEvent[];\n keyUpEvents?: IHandledKeyboardEvent[];\n}\n"]}
@@ -24,6 +24,7 @@ import type {
24
24
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
25
25
  import usePressability from '../../Pressability/usePressability';
26
26
  import {type RectOrSize} from '../../StyleSheet/Rect';
27
+ import useMergeRefs from '../../Utilities/useMergeRefs';
27
28
  import View from '../View/View';
28
29
  import useAndroidRippleForView, {
29
30
  type RippleConfig,
@@ -235,7 +236,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
235
236
  } = props;
236
237
 
237
238
  const viewRef = useRef<React.ElementRef<typeof View> | null>(null);
238
- useImperativeHandle(forwardedRef, () => viewRef.current);
239
+ const mergedRef = useMergeRefs(forwardedRef, viewRef);
239
240
 
240
241
  const android_rippleConfig = useAndroidRippleForView(android_ripple, viewRef);
241
242
 
@@ -338,7 +339,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
338
339
  <View
339
340
  {...restPropsWithDefaults}
340
341
  {...eventHandlers}
341
- ref={viewRef}
342
+ ref={mergedRef}
342
343
  style={typeof style === 'function' ? style({pressed}) : style}
343
344
  collapsable={false}>
344
345
  {typeof children === 'function' ? children({pressed}) : children}
@@ -28,6 +28,7 @@ import type {
28
28
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
29
29
  import usePressability from '../../Pressability/usePressability';
30
30
  import {type RectOrSize} from '../../StyleSheet/Rect';
31
+ import useMergeRefs from '../../Utilities/useMergeRefs';
31
32
  import View from '../View/View';
32
33
  import useAndroidRippleForView, {
33
34
  type RippleConfig,
@@ -234,7 +235,7 @@ type Props = $ReadOnly<{|
234
235
  */
235
236
  unstable_pressDelay?: ?number,
236
237
  /**
237
- * Web to Native Accessibilty props
238
+ * Web to Native Accessibility props
238
239
  * https://github.com/facebook/react-native/issues/34424
239
240
  */
240
241
  'aria-label'?: ?string,
@@ -287,7 +288,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
287
288
  } = props;
288
289
 
289
290
  const viewRef = useRef<React.ElementRef<typeof View> | null>(null);
290
- useImperativeHandle(forwardedRef, () => viewRef.current);
291
+ const mergedRef = useMergeRefs(forwardedRef, viewRef);
291
292
 
292
293
  const android_rippleConfig = useAndroidRippleForView(android_ripple, viewRef);
293
294
 
@@ -402,7 +403,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
402
403
  <View
403
404
  {...restPropsWithDefaults}
404
405
  {...eventHandlers}
405
- ref={viewRef}
406
+ ref={mergedRef}
406
407
  style={typeof style === 'function' ? style({pressed}) : style}>
407
408
  {typeof children === 'function' ? children({pressed}) : children}
408
409
  {__DEV__ ? <PressabilityDebugView color="red" hitSlop={hitSlop} /> : null}
@@ -71,7 +71,7 @@ export default function useAndroidRippleForView(
71
71
 
72
72
  return {
73
73
  viewProps:
74
- foreground === true
74
+ foreground === true && Platform.Version >= 23
75
75
  ? {nativeForegroundAndroid: nativeRippleValue}
76
76
  : {nativeBackgroundAndroid: nativeRippleValue},
77
77
  onPressIn(event: PressEvent): void {
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict-local
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ import typeof UnimplementedViewType from '../UnimplementedViews/UnimplementedView';
14
+ import typeof ProgressBarAndroidNativeComponentType from './ProgressBarAndroidNativeComponent';
15
+
16
+ export type {ProgressBarAndroidProps} from './ProgressBarAndroid.android';
17
+
18
+ module.exports = (require('../UnimplementedViews/UnimplementedView'):
19
+ | UnimplementedViewType
20
+ | ProgressBarAndroidNativeComponentType);
@@ -2,7 +2,13 @@
2
2
  * Copyright (c) Microsoft Corporation.
3
3
  * Licensed under the MIT License.
4
4
  * @format
5
+ * @flow strict-local
5
6
  */
6
7
  'use strict';
7
8
 
8
- module.exports = require('../UnimplementedViews/UnimplementedView');
9
+ import typeof UnimplementedViewType from '../UnimplementedViews/UnimplementedView';
10
+ import typeof ProgressBarAndroidNativeComponentType from './ProgressBarAndroidNativeComponent';
11
+
12
+ module.exports = (require('../UnimplementedViews/UnimplementedView'):
13
+ | UnimplementedViewType
14
+ | ProgressBarAndroidNativeComponentType);
@@ -14,8 +14,6 @@ import Platform from '../../Utilities/Platform';
14
14
  import View from '../View/View';
15
15
  import * as React from 'react';
16
16
 
17
- let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
18
-
19
17
  /**
20
18
  * Renders nested content and automatically applies paddings reflect the portion
21
19
  * of the view that is not covered by navigation bars, tab bars, toolbars, and
@@ -25,10 +23,12 @@ let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
25
23
  * limitation of the screen, such as rounded corners or camera notches (aka
26
24
  * sensor housing area on iPhone X).
27
25
  */
28
- if (Platform.OS === 'android') {
29
- exported = View;
30
- } else {
31
- exported = require('./RCTSafeAreaViewNativeComponent').default;
32
- }
26
+ const exported: React.AbstractComponent<
27
+ ViewProps,
28
+ React.ElementRef<typeof View>,
29
+ > = Platform.select({
30
+ ios: require('./RCTSafeAreaViewNativeComponent').default,
31
+ default: View,
32
+ });
33
33
 
34
34
  export default exported;
@@ -14,8 +14,6 @@ import Platform from '../../Utilities/Platform';
14
14
  import View from '../View/View';
15
15
  import * as React from 'react';
16
16
 
17
- let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
18
-
19
17
  /**
20
18
  * Renders nested content and automatically applies paddings reflect the portion
21
19
  * of the view that is not covered by navigation bars, tab bars, toolbars, and
@@ -25,13 +23,12 @@ let exported: React.AbstractComponent<ViewProps, React.ElementRef<typeof View>>;
25
23
  * limitation of the screen, such as rounded corners or camera notches (aka
26
24
  * sensor housing area on iPhone X).
27
25
  */
28
-
29
- // [Windows - Added windows to if
30
- if (Platform.OS === 'android' || Platform.OS === 'windows') {
31
- // Windows]
32
- exported = View;
33
- } else {
34
- exported = require('./RCTSafeAreaViewNativeComponent').default;
35
- }
26
+ const exported: React.AbstractComponent<
27
+ ViewProps,
28
+ React.ElementRef<typeof View>,
29
+ > = Platform.select({
30
+ ios: require('./RCTSafeAreaViewNativeComponent').default,
31
+ default: View,
32
+ });
36
33
 
37
34
  export default exported;
@@ -1665,6 +1665,7 @@ class ScrollView extends React.Component<Props, State> {
1665
1665
  // $FlowFixMe[underconstrained-implicit-instantiation]
1666
1666
  const style = flattenStyle(this.props.style);
1667
1667
  const childLayoutProps = ['alignItems', 'justifyContent'].filter(
1668
+ // $FlowFixMe[incompatible-use]
1668
1669
  prop => style && style[prop] !== undefined,
1669
1670
  );
1670
1671
  invariant(
@@ -1700,7 +1701,6 @@ class ScrollView extends React.Component<Props, State> {
1700
1701
  return (
1701
1702
  <StickyHeaderComponent
1702
1703
  key={key}
1703
- nativeID={'StickyHeader-' + key} /* TODO: T68258846. */
1704
1704
  ref={ref => this._setStickyHeaderRef(key, ref)}
1705
1705
  nextHeaderLayoutY={this._headerLayoutYs.get(
1706
1706
  this._getKeyForIndex(nextIndex, childArray),
@@ -1837,6 +1837,7 @@ class ScrollView extends React.Component<Props, State> {
1837
1837
  // Note: we should split props.style on the inner and outer props
1838
1838
  // however, the ScrollView still needs the baseStyle to be scrollable
1839
1839
  // $FlowFixMe[underconstrained-implicit-instantiation]
1840
+ // $FlowFixMe[incompatible-call]
1840
1841
  const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
1841
1842
  return React.cloneElement(
1842
1843
  refreshControl,
@@ -1924,6 +1925,7 @@ function Wrapper(props, ref: (mixed => mixed) | {current: mixed, ...}) {
1924
1925
  return <ScrollView {...props} scrollViewRef={ref} />;
1925
1926
  }
1926
1927
  Wrapper.displayName = 'ScrollView';
1928
+ // $FlowFixMe[incompatible-call]
1927
1929
  const ForwardedScrollView = React.forwardRef(Wrapper);
1928
1930
 
1929
1931
  // $FlowFixMe[prop-missing] Add static context to ForwardedScrollView
@@ -1665,6 +1665,7 @@ class ScrollView extends React.Component<Props, State> {
1665
1665
  // $FlowFixMe[underconstrained-implicit-instantiation]
1666
1666
  const style = flattenStyle(this.props.style);
1667
1667
  const childLayoutProps = ['alignItems', 'justifyContent'].filter(
1668
+ // $FlowFixMe[incompatible-use]
1668
1669
  prop => style && style[prop] !== undefined,
1669
1670
  );
1670
1671
  invariant(
@@ -1700,7 +1701,6 @@ class ScrollView extends React.Component<Props, State> {
1700
1701
  return (
1701
1702
  <StickyHeaderComponent
1702
1703
  key={key}
1703
- nativeID={'StickyHeader-' + key} /* TODO: T68258846. */
1704
1704
  ref={ref => this._setStickyHeaderRef(key, ref)}
1705
1705
  nextHeaderLayoutY={this._headerLayoutYs.get(
1706
1706
  this._getKeyForIndex(nextIndex, childArray),
@@ -1838,6 +1838,7 @@ class ScrollView extends React.Component<Props, State> {
1838
1838
  // Note: we should split props.style on the inner and outer props
1839
1839
  // however, the ScrollView still needs the baseStyle to be scrollable
1840
1840
  // $FlowFixMe[underconstrained-implicit-instantiation]
1841
+ // $FlowFixMe[incompatible-call]
1841
1842
  const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
1842
1843
  return React.cloneElement(
1843
1844
  refreshControl,
@@ -1925,6 +1926,7 @@ function Wrapper(props, ref: (mixed => mixed) | {current: mixed, ...}) {
1925
1926
  return <ScrollView {...props} scrollViewRef={ref} />;
1926
1927
  }
1927
1928
  Wrapper.displayName = 'ScrollView';
1929
+ // $FlowFixMe[incompatible-call]
1928
1930
  const ForwardedScrollView = React.forwardRef(Wrapper);
1929
1931
 
1930
1932
  // $FlowFixMe[prop-missing] Add static context to ForwardedScrollView
@@ -11,7 +11,7 @@
11
11
  import type {LayoutEvent} from '../../Types/CoreEventTypes';
12
12
 
13
13
  import Animated from '../../Animated/Animated';
14
- import {isPublicInstance as isFabricPublicInstance} from '../../Renderer/public/ReactFabricPublicInstanceUtils';
14
+ import {isPublicInstance as isFabricPublicInstance} from '../../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils';
15
15
  import StyleSheet from '../../StyleSheet/StyleSheet';
16
16
  import Platform from '../../Utilities/Platform';
17
17
  import useMergeRefs from '../../Utilities/useMergeRefs';
@@ -58,17 +58,16 @@ const ScrollViewStickyHeaderWithForwardedRef: React.AbstractComponent<
58
58
  useState<?number>(_nextHeaderLayoutY);
59
59
  const [isFabric, setIsFabric] = useState<boolean>(false);
60
60
 
61
- const callbackRef = (ref: Instance | null): void => {
61
+ const callbackRef = useCallback((ref: Instance | null): void => {
62
62
  if (ref == null) {
63
63
  return;
64
64
  }
65
- ref.setNextHeaderY = value => {
66
- setNextHeaderLayoutY(value);
67
- };
65
+ ref.setNextHeaderY = setNextHeaderLayoutY;
68
66
  setIsFabric(isFabricPublicInstance(ref));
69
- };
67
+ }, []);
70
68
  const ref: (React.ElementRef<typeof Animated.View> | null) => void =
71
69
  // $FlowFixMe[incompatible-type] - Ref is mutated by `callbackRef`.
70
+ // $FlowFixMe[incompatible-call]
72
71
  useMergeRefs<Instance | null>(callbackRef, forwardedRef);
73
72
 
74
73
  const offset = useMemo(
@@ -108,12 +107,12 @@ const ScrollViewStickyHeaderWithForwardedRef: React.AbstractComponent<
108
107
  },
109
108
  );
110
109
 
111
- const _haveReceivedInitialZeroTranslateY = useRef<boolean>(true);
112
- const _timer = useRef<?TimeoutID>(null);
110
+ const haveReceivedInitialZeroTranslateY = useRef<boolean>(true);
111
+ const translateYDebounceTimer = useRef<?TimeoutID>(null);
113
112
 
114
113
  useEffect(() => {
115
114
  if (translateY !== 0 && translateY != null) {
116
- _haveReceivedInitialZeroTranslateY.current = false;
115
+ haveReceivedInitialZeroTranslateY.current = false;
117
116
  }
118
117
  }, [translateY]);
119
118
 
@@ -131,26 +130,22 @@ const ScrollViewStickyHeaderWithForwardedRef: React.AbstractComponent<
131
130
  // your finger, the hit-detection moves from the Android
132
131
  // platform to JS, so we need the ShadowTree to have knowledge
133
132
  // of the current position.
134
- const animatedValueListener = useCallback(
135
- ({value}: $FlowFixMe) => {
136
- const _debounceTimeout: number = Platform.OS === 'android' ? 15 : 64;
137
- // When the AnimatedInterpolation is recreated, it always initializes
138
- // to a value of zero and emits a value change of 0 to its listeners.
139
- if (value === 0 && !_haveReceivedInitialZeroTranslateY.current) {
140
- _haveReceivedInitialZeroTranslateY.current = true;
141
- return;
142
- }
143
- if (_timer.current != null) {
144
- clearTimeout(_timer.current);
145
- }
146
- _timer.current = setTimeout(() => {
147
- if (value !== translateY) {
148
- setTranslateY(value);
149
- }
150
- }, _debounceTimeout);
151
- },
152
- [translateY],
153
- );
133
+ const animatedValueListener = useCallback(({value}: $FlowFixMe) => {
134
+ const debounceTimeout: number = Platform.OS === 'android' ? 15 : 64;
135
+ // When the AnimatedInterpolation is recreated, it always initializes
136
+ // to a value of zero and emits a value change of 0 to its listeners.
137
+ if (value === 0 && !haveReceivedInitialZeroTranslateY.current) {
138
+ haveReceivedInitialZeroTranslateY.current = true;
139
+ return;
140
+ }
141
+ if (translateYDebounceTimer.current != null) {
142
+ clearTimeout(translateYDebounceTimer.current);
143
+ }
144
+ translateYDebounceTimer.current = setTimeout(
145
+ () => setTranslateY(value),
146
+ debounceTimeout,
147
+ );
148
+ }, []);
154
149
 
155
150
  useEffect(() => {
156
151
  const inputRange: Array<number> = [-1, 0];
@@ -242,11 +237,22 @@ const ScrollViewStickyHeaderWithForwardedRef: React.AbstractComponent<
242
237
  if (animatedListenerId) {
243
238
  newAnimatedTranslateY.removeListener(animatedListenerId);
244
239
  }
245
- if (_timer.current != null) {
246
- clearTimeout(_timer.current);
240
+ if (translateYDebounceTimer.current != null) {
241
+ clearTimeout(translateYDebounceTimer.current);
247
242
  }
248
243
  };
249
- }, [nextHeaderLayoutY, measured, layoutHeight, layoutY, scrollViewHeight, scrollAnimatedValue, inverted, offset, animatedValueListener, isFabric]);
244
+ }, [
245
+ nextHeaderLayoutY,
246
+ measured,
247
+ layoutHeight,
248
+ layoutY,
249
+ scrollViewHeight,
250
+ scrollAnimatedValue,
251
+ inverted,
252
+ offset,
253
+ animatedValueListener,
254
+ isFabric,
255
+ ]);
250
256
 
251
257
  const _onLayout = (event: LayoutEvent) => {
252
258
  setLayoutY(event.nativeEvent.layout.y);
@@ -262,17 +268,7 @@ const ScrollViewStickyHeaderWithForwardedRef: React.AbstractComponent<
262
268
 
263
269
  const child = React.Children.only<$FlowFixMe>(props.children);
264
270
 
265
- // TODO T68319535: remove this if NativeAnimated is rewritten for Fabric
266
- const passthroughAnimatedPropExplicitValues =
267
- isFabric && translateY != null
268
- ? {
269
- style: {transform: [{translateY: translateY}]},
270
- }
271
- : null;
272
-
273
271
  return (
274
- /* $FlowFixMe[prop-missing] passthroughAnimatedPropExplicitValues isn't properly
275
- included in the Animated.View flow type. */
276
272
  <Animated.View
277
273
  collapsable={false}
278
274
  nativeID={props.nativeID}
@@ -282,10 +278,7 @@ const ScrollViewStickyHeaderWithForwardedRef: React.AbstractComponent<
282
278
  child.props.style,
283
279
  styles.header,
284
280
  {transform: [{translateY: animatedTranslateY}]},
285
- ]}
286
- passthroughAnimatedPropExplicitValues={
287
- passthroughAnimatedPropExplicitValues
288
- }>
281
+ ]}>
289
282
  {React.cloneElement(child, {
290
283
  style: styles.fill, // We transfer the child style to the wrapper.
291
284
  onLayout: undefined, // we call this manually through our this._onLayout
@@ -155,6 +155,7 @@ const SwitchWithForwardedRef: React.AbstractComponent<
155
155
  typeof SwitchNativeComponent | typeof AndroidSwitchNativeComponent,
156
156
  > | null>(null);
157
157
 
158
+ // $FlowFixMe[incompatible-call]
158
159
  const ref = useMergeRefs(nativeSwitchRef, forwardedRef);
159
160
 
160
161
  const [native, setNative] = React.useState({value: (null: ?boolean)});