react-native-windows 0.71.10 → 0.72.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (620) hide show
  1. package/.flowconfig +13 -3
  2. package/Directory.Build.props +19 -19
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  4. package/Libraries/Alert/Alert.d.ts +4 -4
  5. package/Libraries/Alert/Alert.windows.js +2 -0
  6. package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
  7. package/Libraries/Animated/Animated.d.ts +17 -6
  8. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  9. package/Libraries/Animated/bezier.js +1 -1
  10. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  11. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  12. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  13. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  14. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  17. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  19. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  20. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  21. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  22. package/Libraries/Animated/useAnimatedProps.js +7 -10
  23. package/Libraries/AppTheme/AppTheme.js +1 -0
  24. package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.windows.js +3 -2
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
  40. package/Libraries/Components/Flyout/Flyout.js +110 -51
  41. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
  42. package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
  43. package/Libraries/Components/Glyph/Glyph.js +43 -30
  44. package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
  45. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  46. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
  47. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  48. package/Libraries/Components/Popup/Popup.d.ts +41 -19
  49. package/Libraries/Components/Popup/Popup.js +86 -52
  50. package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
  51. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  52. package/Libraries/Components/Pressable/Pressable.js +1 -1
  53. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  54. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
  55. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
  57. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  58. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  59. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  60. package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
  61. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  62. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
  63. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  64. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  65. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  66. package/Libraries/Components/Switch/Switch.js +3 -1
  67. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  68. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  70. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  71. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  72. package/Libraries/Components/TextInput/TextInput.js +130 -103
  73. package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
  74. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  75. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  76. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  77. package/Libraries/Components/Touchable/Touchable.js +6 -3
  78. package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
  79. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  80. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  85. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  86. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
  87. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
  88. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  89. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  90. package/Libraries/Components/View/View.js +35 -16
  91. package/Libraries/Components/View/View.windows.js +40 -16
  92. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  93. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  94. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
  95. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  96. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  97. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  98. package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
  99. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  100. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  101. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  102. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  103. package/Libraries/Core/ExceptionsManager.js +2 -2
  104. package/Libraries/Core/InitializeCore.js +2 -1
  105. package/Libraries/Core/ReactNativeVersion.js +3 -3
  106. package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
  107. package/Libraries/Core/Timers/JSTimers.js +1 -1
  108. package/Libraries/Core/Timers/immediateShim.js +1 -0
  109. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  110. package/Libraries/Core/setUpAlert.js +1 -1
  111. package/Libraries/Core/setUpDOM.js +18 -0
  112. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  113. package/Libraries/Core/setUpGlobals.js +5 -2
  114. package/Libraries/Core/setUpNavigator.js +6 -5
  115. package/Libraries/Core/setUpPerformance.js +23 -13
  116. package/Libraries/Core/setUpReactDevTools.js +2 -0
  117. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  118. package/Libraries/Core/setUpTimers.js +2 -2
  119. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  120. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  121. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  122. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  123. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  124. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  125. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  126. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  127. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  128. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  129. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  130. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  131. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
  132. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
  133. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  134. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  135. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  136. package/Libraries/Events/EventPolyfill.js +1 -1
  137. package/Libraries/Image/AssetRegistry.js +1 -1
  138. package/Libraries/Image/AssetSourceResolver.js +3 -3
  139. package/Libraries/Image/Image.android.js +4 -1
  140. package/Libraries/Image/Image.d.ts +63 -2
  141. package/Libraries/Image/Image.ios.js +3 -0
  142. package/Libraries/Image/Image.windows.js +3 -0
  143. package/Libraries/Image/ImageBackground.js +1 -0
  144. package/Libraries/Image/ImageProps.js +1 -1
  145. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  146. package/Libraries/Image/RelativeImageStub.js +1 -1
  147. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  148. package/Libraries/Image/resolveAssetSource.js +1 -1
  149. package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
  150. package/Libraries/Inspector/ElementBox.js +4 -1
  151. package/Libraries/Inspector/Inspector.js +5 -6
  152. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  153. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  154. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  155. package/Libraries/Interaction/PanResponder.js +5 -6
  156. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  157. package/Libraries/Linking/Linking.js +1 -4
  158. package/Libraries/Lists/FillRateHelper.js +4 -238
  159. package/Libraries/Lists/FlatList.d.ts +15 -22
  160. package/Libraries/Lists/FlatList.js +9 -6
  161. package/Libraries/Lists/SectionList.d.ts +10 -6
  162. package/Libraries/Lists/SectionList.js +5 -3
  163. package/Libraries/Lists/SectionListModern.js +3 -3
  164. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  165. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  166. package/Libraries/Lists/VirtualizedList.js +10 -1867
  167. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  168. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  169. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  170. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  171. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  172. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  173. package/Libraries/LogBox/LogBox.js +1 -1
  174. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  175. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
  176. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
  177. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
  178. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  179. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  180. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
  181. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  182. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  183. package/Libraries/Modal/Modal.js +2 -2
  184. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  185. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  186. package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
  187. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  188. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  189. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  190. package/Libraries/Network/RCTNetworking.android.js +2 -2
  191. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  192. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  193. package/Libraries/Network/XMLHttpRequest.js +1 -1
  194. package/Libraries/Pressability/Pressability.js +10 -4
  195. package/Libraries/Pressability/Pressability.windows.js +11 -4
  196. package/Libraries/ReactNative/AppContainer.js +7 -1
  197. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  198. package/Libraries/ReactNative/AppRegistry.js +10 -13
  199. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  200. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  201. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  202. package/Libraries/ReactNative/UIManager.js +168 -1
  203. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  204. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  205. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  206. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  208. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  209. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  210. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  211. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  212. package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
  213. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  214. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  215. package/Libraries/Share/Share.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  217. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  218. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  219. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  220. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  221. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  222. package/Libraries/StyleSheet/processColor.js +1 -1
  223. package/Libraries/Text/Text.d.ts +12 -2
  224. package/Libraries/Text/Text.js +50 -41
  225. package/Libraries/Text/Text.windows.js +48 -38
  226. package/Libraries/Text/TextProps.js +3 -4
  227. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  228. package/Libraries/Types/CodegenTypes.js +1 -0
  229. package/Libraries/UTFSequence.js +3 -1
  230. package/Libraries/Utilities/Appearance.d.ts +10 -0
  231. package/Libraries/Utilities/Appearance.js +13 -0
  232. package/Libraries/Utilities/Dimensions.js +1 -1
  233. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  234. package/Libraries/Utilities/HMRClient.js +16 -10
  235. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  236. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  237. package/Libraries/Utilities/LoadingView.android.js +28 -11
  238. package/Libraries/Utilities/NativeAppearance.js +1 -0
  239. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  240. package/Libraries/Utilities/PixelRatio.js +2 -2
  241. package/Libraries/Utilities/Platform.windows.js +1 -1
  242. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  243. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  244. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  245. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  246. package/Libraries/Utilities/stringifySafe.js +2 -7
  247. package/Libraries/Utilities/useColorScheme.windows.js +26 -0
  248. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  249. package/Libraries/WebPerformance/EventCounts.js +78 -0
  250. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  251. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  252. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  253. package/Libraries/WebPerformance/Performance.js +312 -0
  254. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  255. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  256. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  257. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  258. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  259. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  260. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  261. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  262. package/Libraries/platform-types.d.ts +3 -5
  263. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  264. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  265. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  266. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
  267. package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
  268. package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
  269. package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
  270. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
  271. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
  272. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
  273. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
  274. package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
  276. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
  277. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
  278. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
  279. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
  280. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
  281. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
  282. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
  283. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  284. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
  285. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
  286. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
  287. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
  288. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
  289. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
  290. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
  291. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
  292. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
  293. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
  294. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
  295. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
  296. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
  297. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
  298. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
  299. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
  300. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
  301. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
  302. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
  303. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
  304. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
  305. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
  306. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
  307. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
  308. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
  309. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
  310. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
  311. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
  312. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
  313. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
  314. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
  315. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
  316. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
  317. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
  318. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
  319. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
  320. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
  321. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
  322. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
  323. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
  324. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
  325. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
  326. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
  327. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
  328. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
  329. package/Microsoft.ReactNative/IReactContext.cpp +4 -0
  330. package/Microsoft.ReactNative/IReactContext.h +1 -0
  331. package/Microsoft.ReactNative/IReactContext.idl +5 -0
  332. package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
  333. package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
  334. package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
  335. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
  336. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
  337. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
  338. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
  339. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  340. package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
  341. package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
  342. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
  343. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
  344. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
  345. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
  346. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
  347. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
  348. package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
  349. package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
  350. package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
  351. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
  352. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
  353. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
  354. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
  355. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
  356. package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
  357. package/Microsoft.ReactNative/QuirkSettings.h +5 -0
  358. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  359. package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
  360. package/Microsoft.ReactNative/ReactApplication.h +3 -0
  361. package/Microsoft.ReactNative/ReactApplication.idl +3 -0
  362. package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
  363. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
  364. package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
  365. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
  366. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
  367. package/Microsoft.ReactNative/ReactHost/React.h +2 -0
  368. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
  369. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
  370. package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
  371. package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
  372. package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
  373. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
  374. package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
  375. package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
  376. package/Microsoft.ReactNative/RedBox.cpp +2 -1
  377. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
  378. package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
  379. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
  380. package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
  381. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
  382. package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
  383. package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
  384. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
  385. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
  386. package/Microsoft.ReactNative/ViewProps.idl +30 -0
  387. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
  388. package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
  389. package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
  390. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
  391. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
  392. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
  393. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
  394. package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
  395. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
  396. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
  397. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
  398. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
  399. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
  400. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
  401. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
  402. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
  403. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
  404. package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
  405. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
  406. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
  407. package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
  408. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
  409. package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
  410. package/Microsoft.ReactNative/XamlHelper.h +27 -0
  411. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
  412. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
  413. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  414. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
  415. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
  416. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
  417. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
  418. package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
  419. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  420. package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
  421. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
  422. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  423. package/PropertySheets/JSEngine.props +1 -2
  424. package/PropertySheets/Warnings.props +1 -1
  425. package/ReactCommon/ReactCommon.vcxproj +2 -4
  426. package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
  427. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
  428. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
  429. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
  430. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
  431. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
  442. package/ReactCommon/Yoga.cpp +60 -127
  443. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  444. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
  445. package/Scripts/rnw-dependencies.ps1 +14 -6
  446. package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
  447. package/Shared/DevServerHelper.h +11 -2
  448. package/Shared/DevSettings.h +1 -0
  449. package/Shared/DevSupportManager.cpp +11 -1
  450. package/Shared/DevSupportManager.h +1 -0
  451. package/Shared/HermesRuntimeHolder.cpp +53 -30
  452. package/Shared/HermesRuntimeHolder.h +26 -11
  453. package/Shared/HermesSamplingProfiler.cpp +61 -8
  454. package/Shared/HermesSamplingProfiler.h +6 -3
  455. package/Shared/HermesShim.cpp +86 -82
  456. package/Shared/HermesShim.h +28 -8
  457. package/Shared/JSI/ChakraRuntime.cpp +7 -4
  458. package/Shared/JSI/ChakraRuntime.h +4 -4
  459. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
  460. package/Shared/JSI/RuntimeHolder.h +2 -2
  461. package/Shared/Logging.cpp +1 -1
  462. package/Shared/Modules/BlobModule.cpp +3 -4
  463. package/Shared/Modules/BlobModule.h +0 -4
  464. package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
  465. package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
  466. package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
  467. package/Shared/OInstance.cpp +9 -2
  468. package/Shared/Shared.vcxitems +265 -58
  469. package/Shared/Shared.vcxitems.filters +312 -42
  470. package/Shared/V8JSIRuntimeHolder.cpp +1 -0
  471. package/Shared/V8JSIRuntimeHolder.h +7 -2
  472. package/codegen/NativeAppearanceSpec.g.h +9 -3
  473. package/codegen/NativeClipboardSpec.g.h +3 -3
  474. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +3 -3
  475. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
  476. package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
  477. package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
  478. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
  479. package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
  480. package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
  481. package/codegen/NativeIntentAndroidSpec.g.h +15 -15
  482. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  483. package/codegen/NativePerformanceObserverSpec.g.h +48 -10
  484. package/codegen/NativePerformanceSpec.g.h +63 -0
  485. package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
  486. package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
  487. package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
  488. package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
  489. package/codegen/NativeShareModuleSpec.g.h +9 -3
  490. package/codegen/NativeUIManagerSpec.g.h +12 -12
  491. package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
  492. package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
  493. package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
  494. package/codegen/react/components/rnwcore/Props.cpp +47 -48
  495. package/codegen/react/components/rnwcore/Props.h +59 -166
  496. package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
  497. package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
  498. package/codegen/react/components/rnwcore/States.h +15 -30
  499. package/codegen/rnwcoreJSI-generated.cpp +87 -17
  500. package/codegen/rnwcoreJSI.h +1080 -376
  501. package/generate.js +6 -1
  502. package/include/Include.vcxitems +0 -1
  503. package/include/Include.vcxitems.filters +0 -3
  504. package/index.js +56 -42
  505. package/index.windows.js +56 -42
  506. package/interface.js +1 -1
  507. package/jest/local-setup.js +33 -0
  508. package/jest/mockComponent.js +4 -2
  509. package/jest/mockNativeComponent.js +1 -1
  510. package/jest/mockScrollView.js +2 -1
  511. package/jest/react-native-env.js +1 -3
  512. package/jest/setup.js +11 -8
  513. package/just-task.js +12 -5
  514. package/package.json +34 -31
  515. package/rn-get-polyfills.js +1 -1
  516. package/template/metro.config.js +2 -0
  517. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  518. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  519. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  520. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  521. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  522. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  523. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  524. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  525. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  526. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
  527. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  528. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  529. package/Libraries/Components/Flyout/Flyout.js.map +0 -1
  530. package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
  531. package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
  532. package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
  533. package/Libraries/Components/Glyph/Glyph.js.map +0 -1
  534. package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
  535. package/Libraries/Components/Glyph/GlyphProps.js +0 -8
  536. package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
  537. package/Libraries/Components/Popup/Popup.js.map +0 -1
  538. package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
  539. package/Libraries/Components/Popup/PopupProps.js +0 -8
  540. package/Libraries/Components/Popup/PopupProps.js.map +0 -1
  541. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  542. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  543. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  544. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
  545. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  546. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  547. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  548. package/Libraries/Components/Slider/Slider.js +0 -282
  549. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  550. package/Libraries/Interaction/Batchinator.js +0 -76
  551. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  552. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  553. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  554. package/Libraries/Lists/CellRenderMask.js +0 -155
  555. package/Libraries/Lists/ChildListCollection.js +0 -72
  556. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  557. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  558. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  559. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  560. package/Libraries/Performance/PureComponentDebug.js +0 -74
  561. package/Libraries/Reliability/UserFlow.js +0 -158
  562. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  563. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  564. package/Libraries/Utilities/MatrixMath.js +0 -748
  565. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  566. package/Libraries/Utilities/clamp.js +0 -23
  567. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  568. package/Libraries/Utilities/groupByEveryN.js +0 -51
  569. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  570. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  571. package/Libraries/Utilities/truncate.js +0 -51
  572. package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
  573. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
  574. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
  575. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
  576. package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
  577. package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
  578. package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
  579. package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
  580. package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
  581. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
  582. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
  583. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
  584. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
  585. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
  586. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
  587. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
  588. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
  589. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
  590. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
  591. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
  592. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
  593. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
  594. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
  595. package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
  596. package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
  597. package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
  598. package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
  599. package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
  600. package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
  601. package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
  602. package/Shared/AsyncStorage/StorageFileIO.h +0 -40
  603. package/Shared/AsyncStorageModule.h +0 -25
  604. package/Shared/Modules/AsyncStorageModule.cpp +0 -87
  605. package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
  606. package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
  607. package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
  608. package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
  609. package/types/index.d.ts +0 -216
  610. package/types/modules/BatchedBridge.d.ts +0 -32
  611. package/types/modules/Codegen.d.ts +0 -74
  612. package/types/modules/Devtools.d.ts +0 -31
  613. package/types/modules/LaunchScreen.d.ts +0 -18
  614. package/types/modules/globals.d.ts +0 -577
  615. package/types/private/TimerMixin.d.ts +0 -19
  616. package/types/private/Utilities.d.ts +0 -10
  617. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
  618. package/types/public/Insets.d.ts +0 -15
  619. package/types/public/ReactNativeRenderer.d.ts +0 -149
  620. package/types/public/ReactNativeTypes.d.ts +0 -143
@@ -27,15 +27,20 @@ import StyleSheet, {
27
27
  import Text from '../../Text/Text';
28
28
  import TextAncestor from '../../Text/TextAncestor';
29
29
  import Platform from '../../Utilities/Platform';
30
- import setAndForwardRef from '../../Utilities/setAndForwardRef';
30
+ import useMergeRefs from '../../Utilities/useMergeRefs';
31
31
  import TextInputState from './TextInputState';
32
32
  import invariant from 'invariant';
33
33
  import nullthrows from 'nullthrows';
34
34
  import * as React from 'react';
35
-
36
- const {useLayoutEffect, useRef, useState} = React;
35
+ import {useCallback, useLayoutEffect, useRef, useState} from 'react';
37
36
 
38
37
  type ReactRefSetter<T> = {current: null | T, ...} | ((ref: null | T) => mixed);
38
+ type TextInputInstance = React.ElementRef<HostComponent<mixed>> & {
39
+ +clear: () => void,
40
+ +isFocused: () => boolean,
41
+ +getNativeRef: () => ?React.ElementRef<HostComponent<mixed>>,
42
+ +setSelection: (start: number, end: number) => void,
43
+ };
39
44
 
40
45
  let AndroidTextInput;
41
46
  let AndroidTextInputCommands;
@@ -360,9 +365,6 @@ type IOSProps = $ReadOnly<{|
360
365
  /**
361
366
  * Give the keyboard and the system information about the
362
367
  * expected semantic meaning for the content that users enter.
363
- * `autoComplete` property accomplishes same behavior and is recommended as its supported by both platforms.
364
- * Avoid using both `autoComplete` and `textContentType`, you can use `Platform.select` for differing platform behaviors.
365
- * For backwards compatibility, when both set, `textContentType` takes precedence on iOS.
366
368
  * @platform ios
367
369
  */
368
370
  textContentType?: ?TextContentType,
@@ -597,6 +599,14 @@ export type Props = $ReadOnly<{|
597
599
  ...AndroidProps,
598
600
  ...WindowsProps, // [Windows]
599
601
 
602
+ /**
603
+ * String to be read by screenreaders to indicate an error state. The acceptable parameters
604
+ * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates
605
+ * the error message. Setting accessibilityInvalid to false removes the error message.
606
+ */
607
+ accessibilityErrorMessage?: ?Stringish,
608
+ accessibilityInvalid?: ?boolean,
609
+
600
610
  /**
601
611
  * Can tell `TextInput` to automatically capitalize certain characters.
602
612
  *
@@ -652,9 +662,7 @@ export type Props = $ReadOnly<{|
652
662
  */
653
663
  editable?: ?boolean,
654
664
 
655
- forwardedRef?: ?ReactRefSetter<
656
- React.ElementRef<HostComponent<mixed>> & ImperativeMethods,
657
- >,
665
+ forwardedRef?: ?ReactRefSetter<TextInputInstance>,
658
666
 
659
667
  /**
660
668
  * `enterKeyHint` defines what action label (or icon) to present for the enter key on virtual keyboards.
@@ -992,13 +1000,6 @@ export type Props = $ReadOnly<{|
992
1000
  value?: ?Stringish,
993
1001
  |}>;
994
1002
 
995
- type ImperativeMethods = $ReadOnly<{|
996
- clear: () => void,
997
- isFocused: () => boolean,
998
- getNativeRef: () => ?React.ElementRef<HostComponent<mixed>>,
999
- setSelection: (start: number, end: number) => void,
1000
- |}>;
1001
-
1002
1003
  const emptyFunctionThatReturnsTrue = () => true;
1003
1004
 
1004
1005
  /**
@@ -1113,6 +1114,18 @@ const emptyFunctionThatReturnsTrue = () => true;
1113
1114
  *
1114
1115
  */
1115
1116
  function InternalTextInput(props: Props): React.Node {
1117
+ const {
1118
+ 'aria-busy': ariaBusy,
1119
+ 'aria-checked': ariaChecked,
1120
+ 'aria-disabled': ariaDisabled,
1121
+ 'aria-expanded': ariaExpanded,
1122
+ 'aria-selected': ariaSelected,
1123
+ accessibilityState,
1124
+ id,
1125
+ tabIndex,
1126
+ ...otherProps
1127
+ } = props;
1128
+
1116
1129
  const inputRef = useRef<null | React.ElementRef<HostComponent<mixed>>>(null);
1117
1130
 
1118
1131
  // Android sends a "onTextChanged" event followed by a "onSelectionChanged" event, for
@@ -1234,74 +1247,74 @@ function InternalTextInput(props: Props): React.Node {
1234
1247
  }
1235
1248
  }, [inputRef]);
1236
1249
 
1237
- function clear(): void {
1238
- if (inputRef.current != null) {
1239
- viewCommands.setTextAndSelection(
1240
- inputRef.current,
1241
- mostRecentEventCount,
1242
- '',
1243
- 0,
1244
- 0,
1245
- );
1246
- }
1247
- }
1248
-
1249
- function setSelection(start: number, end: number): void {
1250
- if (inputRef.current != null) {
1251
- viewCommands.setTextAndSelection(
1252
- inputRef.current,
1253
- mostRecentEventCount,
1254
- null,
1255
- start,
1256
- end,
1257
- );
1258
- }
1259
- }
1260
-
1261
- // TODO: Fix this returning true on null === null, when no input is focused
1262
- function isFocused(): boolean {
1263
- return TextInputState.currentlyFocusedInput() === inputRef.current;
1264
- }
1265
-
1266
- function getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
1267
- return inputRef.current;
1268
- }
1269
-
1270
- const _setNativeRef = setAndForwardRef({
1271
- getForwardedRef: () => props.forwardedRef,
1272
- setLocalRef: ref => {
1273
- inputRef.current = ref;
1250
+ const setLocalRef = useCallback(
1251
+ (instance: TextInputInstance | null) => {
1252
+ inputRef.current = instance;
1274
1253
 
1275
1254
  /*
1276
- Hi reader from the future. I'm sorry for this.
1277
-
1278
- This is a hack. Ideally we would forwardRef to the underlying
1279
- host component. However, since TextInput has it's own methods that can be
1280
- called as well, if we used the standard forwardRef then these
1281
- methods wouldn't be accessible and thus be a breaking change.
1282
-
1283
- We have a couple of options of how to handle this:
1284
- - Return a new ref with everything we methods from both. This is problematic
1285
- because we need React to also know it is a host component which requires
1286
- internals of the class implementation of the ref.
1287
- - Break the API and have some other way to call one set of the methods or
1288
- the other. This is our long term approach as we want to eventually
1289
- get the methods on host components off the ref. So instead of calling
1290
- ref.measure() you might call ReactNative.measure(ref). This would hopefully
1291
- let the ref for TextInput then have the methods like `.clear`. Or we do it
1292
- the other way and make it TextInput.clear(textInputRef) which would be fine
1293
- too. Either way though is a breaking change that is longer term.
1294
- - Mutate this ref. :( Gross, but accomplishes what we need in the meantime
1295
- before we can get to the long term breaking change.
1296
- */
1297
- if (ref) {
1298
- ref.clear = clear;
1299
- ref.isFocused = isFocused;
1300
- ref.getNativeRef = getNativeRef;
1301
- ref.setSelection = setSelection;
1255
+ Hi reader from the future. I'm sorry for this.
1256
+
1257
+ This is a hack. Ideally we would forwardRef to the underlying
1258
+ host component. However, since TextInput has it's own methods that can be
1259
+ called as well, if we used the standard forwardRef then these
1260
+ methods wouldn't be accessible and thus be a breaking change.
1261
+
1262
+ We have a couple of options of how to handle this:
1263
+ - Return a new ref with everything we methods from both. This is problematic
1264
+ because we need React to also know it is a host component which requires
1265
+ internals of the class implementation of the ref.
1266
+ - Break the API and have some other way to call one set of the methods or
1267
+ the other. This is our long term approach as we want to eventually
1268
+ get the methods on host components off the ref. So instead of calling
1269
+ ref.measure() you might call ReactNative.measure(ref). This would hopefully
1270
+ let the ref for TextInput then have the methods like `.clear`. Or we do it
1271
+ the other way and make it TextInput.clear(textInputRef) which would be fine
1272
+ too. Either way though is a breaking change that is longer term.
1273
+ - Mutate this ref. :( Gross, but accomplishes what we need in the meantime
1274
+ before we can get to the long term breaking change.
1275
+ */
1276
+ if (instance != null) {
1277
+ // $FlowFixMe[incompatible-use] - See the explanation above.
1278
+ Object.assign(instance, {
1279
+ clear(): void {
1280
+ if (inputRef.current != null) {
1281
+ viewCommands.setTextAndSelection(
1282
+ inputRef.current,
1283
+ mostRecentEventCount,
1284
+ '',
1285
+ 0,
1286
+ 0,
1287
+ );
1288
+ }
1289
+ },
1290
+ // TODO: Fix this returning true on null === null, when no input is focused
1291
+ isFocused(): boolean {
1292
+ return TextInputState.currentlyFocusedInput() === inputRef.current;
1293
+ },
1294
+ getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
1295
+ return inputRef.current;
1296
+ },
1297
+ setSelection(start: number, end: number): void {
1298
+ if (inputRef.current != null) {
1299
+ viewCommands.setTextAndSelection(
1300
+ inputRef.current,
1301
+ mostRecentEventCount,
1302
+ null,
1303
+ start,
1304
+ end,
1305
+ );
1306
+ }
1307
+ },
1308
+ });
1302
1309
  }
1303
1310
  },
1304
- });
1311
+ [mostRecentEventCount, viewCommands],
1312
+ );
1313
+
1314
+ const ref = useMergeRefs<TextInputInstance | null>(
1315
+ setLocalRef,
1316
+ props.forwardedRef,
1317
+ );
1305
1318
 
1306
1319
  const _onChange = (event: ChangeEvent) => {
1307
1320
  const currentText = event.nativeEvent.text;
@@ -1404,6 +1417,12 @@ function InternalTextInput(props: Props): React.Node {
1404
1417
  }
1405
1418
 
1406
1419
  const accessible = props.accessible !== false;
1420
+
1421
+ const accessibilityErrorMessage =
1422
+ props.accessibilityInvalid === true
1423
+ ? props.accessibilityErrorMessage
1424
+ : null;
1425
+
1407
1426
  const focusable = props.focusable !== false;
1408
1427
 
1409
1428
  const config = React.useMemo(
@@ -1490,13 +1509,26 @@ function InternalTextInput(props: Props): React.Node {
1490
1509
  props.onKeyUpCapture && props.onKeyUpCapture(event);
1491
1510
  };
1492
1511
 
1493
- const _accessibilityState = {
1494
- busy: props['aria-busy'] ?? props.accessibilityState?.busy,
1495
- checked: props['aria-checked'] ?? props.accessibilityState?.checked,
1496
- disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
1497
- expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
1498
- selected: props['aria-selected'] ?? props.accessibilityState?.selected,
1499
- };
1512
+ let _accessibilityState;
1513
+ if (
1514
+ accessibilityState != null ||
1515
+ ariaBusy != null ||
1516
+ ariaChecked != null ||
1517
+ ariaDisabled != null ||
1518
+ ariaExpanded != null ||
1519
+ ariaSelected != null
1520
+ ) {
1521
+ _accessibilityState = {
1522
+ busy: ariaBusy ?? accessibilityState?.busy,
1523
+ checked: ariaChecked ?? accessibilityState?.checked,
1524
+ disabled: ariaDisabled ?? accessibilityState?.disabled,
1525
+ expanded: ariaExpanded ?? accessibilityState?.expanded,
1526
+ selected: ariaSelected ?? accessibilityState?.selected,
1527
+ };
1528
+ }
1529
+
1530
+ // $FlowFixMe[underconstrained-implicit-instantiation]
1531
+ let style = flattenStyle(props.style);
1500
1532
 
1501
1533
  if (Platform.OS === 'ios') {
1502
1534
  const RCTTextInputView =
@@ -1504,10 +1536,7 @@ function InternalTextInput(props: Props): React.Node {
1504
1536
  ? RCTMultilineTextInputView
1505
1537
  : RCTSinglelineTextInputView;
1506
1538
 
1507
- const style =
1508
- props.multiline === true
1509
- ? StyleSheet.flatten([styles.multilineInput, props.style])
1510
- : props.style;
1539
+ style = props.multiline === true ? [styles.multilineInput, style] : style;
1511
1540
 
1512
1541
  const useOnChangeSync =
1513
1542
  (props.unstable_onChangeSync || props.unstable_onChangeTextSync) &&
@@ -1515,16 +1544,19 @@ function InternalTextInput(props: Props): React.Node {
1515
1544
 
1516
1545
  textInput = (
1517
1546
  <RCTTextInputView
1518
- ref={_setNativeRef}
1519
- {...props}
1547
+ // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1548
+ ref={ref}
1549
+ {...otherProps}
1520
1550
  {...eventHandlers}
1521
- accessible={accessible}
1551
+ accessibilityErrorMessage={accessibilityErrorMessage}
1522
1552
  accessibilityState={_accessibilityState}
1553
+ accessible={accessible}
1523
1554
  submitBehavior={submitBehavior}
1524
1555
  caretHidden={caretHidden}
1525
1556
  dataDetectorTypes={props.dataDetectorTypes}
1526
- focusable={focusable}
1557
+ focusable={tabIndex !== undefined ? !tabIndex : focusable}
1527
1558
  mostRecentEventCount={mostRecentEventCount}
1559
+ nativeID={id ?? props.nativeID}
1528
1560
  onBlur={_onBlur}
1529
1561
  onKeyPressSync={props.unstable_onKeyPressSync}
1530
1562
  onChange={_onChange}
@@ -1540,7 +1572,6 @@ function InternalTextInput(props: Props): React.Node {
1540
1572
  />
1541
1573
  );
1542
1574
  } else if (Platform.OS === 'android') {
1543
- const style = [props.style];
1544
1575
  const autoCapitalize = props.autoCapitalize || 'sentences';
1545
1576
  const _accessibilityLabelledBy =
1546
1577
  props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
@@ -1565,19 +1596,22 @@ function InternalTextInput(props: Props): React.Node {
1565
1596
  * match up exactly with the props for TextInput. This will need to get
1566
1597
  * fixed */
1567
1598
  <AndroidTextInput
1568
- ref={_setNativeRef}
1569
- {...props}
1599
+ // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1600
+ ref={ref}
1601
+ {...otherProps}
1570
1602
  {...eventHandlers}
1571
- accessible={accessible}
1603
+ accessibilityErrorMessage={accessibilityErrorMessage}
1572
1604
  accessibilityState={_accessibilityState}
1573
1605
  accessibilityLabelledBy={_accessibilityLabelledBy}
1606
+ accessible={accessible}
1574
1607
  autoCapitalize={autoCapitalize}
1575
1608
  submitBehavior={submitBehavior}
1576
1609
  caretHidden={caretHidden}
1577
1610
  children={children}
1578
1611
  disableFullscreenUI={props.disableFullscreenUI}
1579
- focusable={focusable}
1612
+ focusable={tabIndex !== undefined ? !tabIndex : focusable}
1580
1613
  mostRecentEventCount={mostRecentEventCount}
1614
+ nativeID={id ?? props.nativeID}
1581
1615
  numberOfLines={props.rows ?? props.numberOfLines}
1582
1616
  onBlur={_onBlur}
1583
1617
  onChange={_onChange}
@@ -1601,7 +1635,8 @@ function InternalTextInput(props: Props): React.Node {
1601
1635
  else if (Platform.OS === 'windows') {
1602
1636
  textInput = (
1603
1637
  <WindowsTextInput
1604
- ref={_setNativeRef}
1638
+ // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1639
+ ref={ref}
1605
1640
  {...props}
1606
1641
  accessible={accessible}
1607
1642
  focusable={focusable}
@@ -1712,7 +1747,7 @@ const autoCompleteWebToTextContentTypeMap = {
1712
1747
 
1713
1748
  const ExportedForwardRef: React.AbstractComponent<
1714
1749
  React.ElementConfig<typeof InternalTextInput>,
1715
- React.ElementRef<HostComponent<mixed>> & ImperativeMethods,
1750
+ TextInputInstance,
1716
1751
  > = React.forwardRef(function TextInput(
1717
1752
  {
1718
1753
  allowFontScaling = true,
@@ -1725,18 +1760,19 @@ const ExportedForwardRef: React.AbstractComponent<
1725
1760
  enterKeyHint,
1726
1761
  returnKeyType,
1727
1762
  inputMode,
1763
+ showSoftInputOnFocus,
1728
1764
  keyboardType,
1729
1765
  ...restProps
1730
1766
  },
1731
- forwardedRef: ReactRefSetter<
1732
- React.ElementRef<HostComponent<mixed>> & ImperativeMethods,
1733
- >,
1767
+ forwardedRef: ReactRefSetter<TextInputInstance>,
1734
1768
  ) {
1735
- const style = flattenStyle(restProps.style);
1769
+ // $FlowFixMe[underconstrained-implicit-instantiation]
1770
+ let style = flattenStyle(restProps.style);
1736
1771
 
1737
1772
  if (style?.verticalAlign != null) {
1738
1773
  style.textAlignVertical =
1739
1774
  verticalAlignToTextAlignVerticalMap[style.verticalAlign];
1775
+ delete style.verticalAlign;
1740
1776
  }
1741
1777
 
1742
1778
  return (
@@ -1751,22 +1787,21 @@ const ExportedForwardRef: React.AbstractComponent<
1751
1787
  keyboardType={
1752
1788
  inputMode ? inputModeToKeyboardTypeMap[inputMode] : keyboardType
1753
1789
  }
1790
+ showSoftInputOnFocus={
1791
+ inputMode == null ? showSoftInputOnFocus : inputMode !== 'none'
1792
+ }
1754
1793
  autoComplete={
1755
1794
  Platform.OS === 'android'
1756
- ? // $FlowFixMe[invalid-computed-prop]
1757
- // $FlowFixMe[prop-missing]
1795
+ ? // $FlowFixMe
1758
1796
  autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
1759
1797
  autoComplete
1760
1798
  : undefined
1761
1799
  }
1762
1800
  textContentType={
1763
- textContentType != null
1764
- ? textContentType
1765
- : Platform.OS === 'ios' &&
1766
- autoComplete &&
1767
- autoComplete in autoCompleteWebToTextContentTypeMap
1768
- ? // $FlowFixMe[invalid-computed-prop]
1769
- // $FlowFixMe[prop-missing]
1801
+ Platform.OS === 'ios' &&
1802
+ autoComplete &&
1803
+ autoComplete in autoCompleteWebToTextContentTypeMap
1804
+ ? // $FlowFixMe
1770
1805
  autoCompleteWebToTextContentTypeMap[autoComplete]
1771
1806
  : textContentType
1772
1807
  }
@@ -1777,6 +1812,8 @@ const ExportedForwardRef: React.AbstractComponent<
1777
1812
  );
1778
1813
  });
1779
1814
 
1815
+ ExportedForwardRef.displayName = 'TextInput';
1816
+
1780
1817
  /**
1781
1818
  * Switch to `deprecated-react-native-prop-types` for compatibility with future
1782
1819
  * releases. This is deprecated and will be removed in the future.
@@ -5,7 +5,7 @@
5
5
 
6
6
  import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
7
7
 
8
- const requireNativeComponent = require('../../ReactNative/requireNativeComponent');
8
+ import requireNativeComponent from '../../ReactNative/requireNativeComponent';
9
9
  import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
10
10
  import type {TextInputNativeCommands} from './TextInputNativeCommands';
11
11
  type NativeType = HostComponent<mixed>;
@@ -13,7 +13,7 @@ import {GestureResponderEvent} from '../../Types/CoreEventTypes';
13
13
 
14
14
  /**
15
15
  * //FIXME: need to find documentation on which component is a TTouchable and can implement that interface
16
- * @see React.DOMAtributes
16
+ * @see React.DOMAttributes
17
17
  */
18
18
  export interface Touchable {
19
19
  onTouchStart?: ((event: GestureResponderEvent) => void) | undefined;
@@ -99,7 +99,30 @@ import * as React from 'react';
99
99
  * }
100
100
  */
101
101
 
102
- // Default amount "active" region protrudes beyond box
102
+ /**
103
+ * Touchable states.
104
+ */
105
+
106
+ const States = {
107
+ NOT_RESPONDER: 'NOT_RESPONDER', // Not the responder
108
+ RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN', // Responder, inactive, in the `PressRect`
109
+ RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT', // Responder, inactive, out of `PressRect`
110
+ RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN', // Responder, active, in the `PressRect`
111
+ RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT', // Responder, active, out of `PressRect`
112
+ RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN', // Responder, active, in the `PressRect`, after long press threshold
113
+ RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT', // Responder, active, out of `PressRect`, after long press threshold
114
+ ERROR: 'ERROR',
115
+ };
116
+
117
+ type State =
118
+ | typeof States.NOT_RESPONDER
119
+ | typeof States.RESPONDER_INACTIVE_PRESS_IN
120
+ | typeof States.RESPONDER_INACTIVE_PRESS_OUT
121
+ | typeof States.RESPONDER_ACTIVE_PRESS_IN
122
+ | typeof States.RESPONDER_ACTIVE_PRESS_OUT
123
+ | typeof States.RESPONDER_ACTIVE_LONG_PRESS_IN
124
+ | typeof States.RESPONDER_ACTIVE_LONG_PRESS_OUT
125
+ | typeof States.ERROR;
103
126
 
104
127
  /**
105
128
  * By convention, methods prefixed with underscores are meant to be @private,
@@ -200,9 +223,12 @@ interface TouchableMixinType {
200
223
  * @return {object} State object to be placed inside of
201
224
  * `this.state.touchable`.
202
225
  */
203
- touchableGetInitialState: () => $TEMPORARY$object<{|
204
- touchable: $TEMPORARY$object<{|responderID: null, touchState: void|}>,
205
- |}>;
226
+ touchableGetInitialState: () => {
227
+ touchable: {
228
+ touchState: ?State,
229
+ responderID: ?PressEvent['currentTarget'],
230
+ },
231
+ };
206
232
 
207
233
  // ==== Hooks to Gesture Responder system ====
208
234
  /**
@@ -396,9 +396,12 @@ const TouchableMixin = {
396
396
  * @return {object} State object to be placed inside of
397
397
  * `this.state.touchable`.
398
398
  */
399
- touchableGetInitialState: function (): $TEMPORARY$object<{|
400
- touchable: $TEMPORARY$object<{|responderID: null, touchState: void|}>,
401
- |}> {
399
+ touchableGetInitialState: function (): {
400
+ touchable: {
401
+ touchState: ?State,
402
+ responderID: ?PressEvent['currentTarget'],
403
+ },
404
+ } {
402
405
  return {
403
406
  touchable: {touchState: undefined, responderID: null},
404
407
  };
@@ -401,9 +401,12 @@ const TouchableMixin = {
401
401
  * @return {object} State object to be placed inside of
402
402
  * `this.state.touchable`.
403
403
  */
404
- touchableGetInitialState: function (): $TEMPORARY$object<{|
405
- touchable: $TEMPORARY$object<{|responderID: null, touchState: void|}>,
406
- |}> {
404
+ touchableGetInitialState: function (): {
405
+ touchable: {
406
+ touchState: ?State,
407
+ responderID: ?PressEvent['currentTarget'],
408
+ },
409
+ } {
407
410
  return {
408
411
  touchable: {touchState: undefined, responderID: null},
409
412
  };
@@ -277,7 +277,7 @@ class TouchableHighlight extends React.Component<Props, State> {
277
277
  }
278
278
 
279
279
  render(): React.Node {
280
- const child = React.Children.only(this.props.children);
280
+ const child = React.Children.only<$FlowFixMe>(this.props.children);
281
281
 
282
282
  // BACKWARD-COMPATIBILITY: Focus and blur events were never supported before
283
283
  // adopting `Pressability`, so preserve that behavior.
@@ -279,7 +279,7 @@ class TouchableHighlight extends React.Component<Props, State> {
279
279
  }
280
280
 
281
281
  render(): React.Node {
282
- const child = React.Children.only(this.props.children);
282
+ const child = React.Children.only<$FlowFixMe>(this.props.children);
283
283
 
284
284
  // BACKWARD-COMPATIBILITY: Focus and blur events were never supported before
285
285
  // adopting `Pressability`, so preserve that behavior.
@@ -324,6 +324,7 @@ class TouchableHighlight extends React.Component<Props, State> {
324
324
  accessibilityValue={accessibilityValue}
325
325
  accessibilityActions={this.props.accessibilityActions}
326
326
  onAccessibilityAction={this.props.onAccessibilityAction}
327
+ disabled={this.props.disabled}
327
328
  importantForAccessibility={
328
329
  this.props['aria-hidden'] === true
329
330
  ? 'no-hide-descendants'
@@ -239,8 +239,8 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
239
239
  }
240
240
 
241
241
  render(): React.Node {
242
- const element = React.Children.only(this.props.children);
243
- const children = [element.props.children];
242
+ const element = React.Children.only<$FlowFixMe>(this.props.children);
243
+ const children: Array<React.Node> = [element.props.children];
244
244
  if (__DEV__) {
245
245
  if (element.type === View) {
246
246
  children.push(
@@ -206,6 +206,7 @@ class TouchableOpacity extends React.Component<Props, State> {
206
206
  }
207
207
 
208
208
  _getChildStyleOpacityWithDefault(): number {
209
+ // $FlowFixMe[underconstrained-implicit-instantiation]
209
210
  const opacity = flattenStyle(this.props.style)?.opacity;
210
211
  return typeof opacity === 'number' ? opacity : 1;
211
212
  }
@@ -301,7 +302,9 @@ class TouchableOpacity extends React.Component<Props, State> {
301
302
  this.state.pressability.configure(this._createPressabilityConfig());
302
303
  if (
303
304
  this.props.disabled !== prevProps.disabled ||
305
+ // $FlowFixMe[underconstrained-implicit-instantiation]
304
306
  flattenStyle(prevProps.style)?.opacity !==
307
+ // $FlowFixMe[underconstrained-implicit-instantiation]
305
308
  flattenStyle(this.props.style)?.opacity
306
309
  ) {
307
310
  this._opacityInactive(250);
@@ -208,6 +208,7 @@ class TouchableOpacity extends React.Component<Props, State> {
208
208
  }
209
209
 
210
210
  _getChildStyleOpacityWithDefault(): number {
211
+ // $FlowFixMe[underconstrained-implicit-instantiation]
211
212
  const opacity = flattenStyle(this.props.style)?.opacity;
212
213
  return typeof opacity === 'number' ? opacity : 1;
213
214
  }
@@ -280,6 +281,7 @@ class TouchableOpacity extends React.Component<Props, State> {
280
281
  accessibilityElementsHidden={
281
282
  this.props['aria-hidden'] ?? this.props.accessibilityElementsHidden
282
283
  }
284
+ disabled={this.props.disabled}
283
285
  style={[this.props.style, {opacity: this.state.anim}]}
284
286
  nativeID={this.props.nativeID}
285
287
  testID={this.props.testID}
@@ -315,7 +317,9 @@ class TouchableOpacity extends React.Component<Props, State> {
315
317
  this.state.pressability.configure(this._createPressabilityConfig());
316
318
  if (
317
319
  this.props.disabled !== prevProps.disabled ||
320
+ // $FlowFixMe[underconstrained-implicit-instantiation]
318
321
  flattenStyle(prevProps.style)?.opacity !==
322
+ // $FlowFixMe[underconstrained-implicit-instantiation]
319
323
  flattenStyle(this.props.style)?.opacity
320
324
  ) {
321
325
  this._opacityInactive(250);
@@ -40,7 +40,7 @@ export interface TouchableWithoutFeedbackProps
40
40
  extends TouchableWithoutFeedbackPropsIOS,
41
41
  TouchableWithoutFeedbackPropsAndroid,
42
42
  AccessibilityProps {
43
- children?: React.ReactNode;
43
+ children?: React.ReactNode | undefined;
44
44
 
45
45
  /**
46
46
  * Delay in ms, from onPressIn, before onLongPress is called.
@@ -121,8 +121,8 @@ class TouchableWithoutFeedback extends React.Component<Props, State> {
121
121
  };
122
122
 
123
123
  render(): React.Node {
124
- const element = React.Children.only(this.props.children);
125
- const children = [element.props.children];
124
+ const element = React.Children.only<$FlowFixMe>(this.props.children);
125
+ const children: Array<React.Node> = [element.props.children];
126
126
  const ariaLive = this.props['aria-live'];
127
127
 
128
128
  if (__DEV__) {
@@ -136,8 +136,8 @@ class TouchableWithoutFeedback extends React.Component<Props, State> {
136
136
  };
137
137
 
138
138
  render(): React.Node {
139
- const element = React.Children.only(this.props.children);
140
- const children = [element.props.children];
139
+ const element = React.Children.only<$FlowFixMe>(this.props.children);
140
+ const children: Array<React.Node> = [element.props.children];
141
141
  const ariaLive = this.props['aria-live'];
142
142
 
143
143
  if (__DEV__) {