@office-iss/react-native-win32 0.0.0-canary.28 → 0.0.0-canary.281

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 (1425) hide show
  1. package/.eslintignore +5 -2
  2. package/.eslintrc.js +27 -2
  3. package/.flowconfig +76 -37
  4. package/CHANGELOG.json +5763 -1
  5. package/CHANGELOG.md +2301 -4
  6. package/IntegrationTests/AccessibilityManagerTest.js +8 -11
  7. package/IntegrationTests/AppEventsTest.js +3 -3
  8. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +12 -5
  9. package/IntegrationTests/ImageCachePolicyTest.js +5 -5
  10. package/IntegrationTests/ImageSnapshotTest.js +2 -2
  11. package/IntegrationTests/IntegrationTestHarnessTest.js +9 -6
  12. package/IntegrationTests/IntegrationTestsApp.js +16 -21
  13. package/IntegrationTests/LayoutEventsTest.js +14 -12
  14. package/IntegrationTests/LoggingTestModule.js +10 -12
  15. package/IntegrationTests/PromiseTest.js +2 -1
  16. package/IntegrationTests/SimpleSnapshotTest.js +2 -4
  17. package/IntegrationTests/SyncMethodTest.js +2 -2
  18. package/IntegrationTests/TimersTest.js +20 -5
  19. package/IntegrationTests/WebSocketTest.js +5 -5
  20. package/IntegrationTests/launchWebSocketServer.sh +12 -0
  21. package/IntegrationTests/websocket_integration_test_server.js +3 -3
  22. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +87 -0
  23. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +51 -11
  24. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +5 -43
  25. package/Libraries/Alert/Alert.d.ts +91 -0
  26. package/Libraries/Alert/Alert.js +31 -10
  27. package/Libraries/Alert/Alert.win32.js +6 -4
  28. package/Libraries/Alert/NativeAlertManager.js +5 -26
  29. package/Libraries/Alert/RCTAlertManager.android.js +2 -4
  30. package/Libraries/Alert/RCTAlertManager.ios.js +2 -3
  31. package/Libraries/Animated/Animated.d.ts +626 -0
  32. package/Libraries/Animated/Animated.js +48 -0
  33. package/Libraries/Animated/AnimatedEvent.js +256 -0
  34. package/Libraries/Animated/AnimatedImplementation.js +754 -0
  35. package/Libraries/Animated/AnimatedMock.js +195 -0
  36. package/Libraries/Animated/AnimatedPlatformConfig.js +13 -0
  37. package/Libraries/Animated/AnimatedWeb.js +26 -0
  38. package/Libraries/Animated/Easing.d.ts +37 -0
  39. package/Libraries/Animated/Easing.js +250 -0
  40. package/Libraries/Animated/NativeAnimatedAllowlist.js +122 -0
  41. package/Libraries/Animated/NativeAnimatedModule.js +13 -0
  42. package/Libraries/Animated/NativeAnimatedTurboModule.js +13 -0
  43. package/Libraries/Animated/SpringConfig.js +98 -0
  44. package/Libraries/Animated/animations/Animation.js +192 -0
  45. package/Libraries/Animated/animations/DecayAnimation.js +122 -0
  46. package/Libraries/Animated/animations/SpringAnimation.js +373 -0
  47. package/Libraries/Animated/animations/TimingAnimation.js +174 -0
  48. package/Libraries/Animated/bezier.js +164 -0
  49. package/Libraries/Animated/components/AnimatedFlatList.js +20 -0
  50. package/Libraries/Animated/components/AnimatedImage.js +22 -0
  51. package/Libraries/Animated/components/AnimatedScrollView.js +137 -0
  52. package/Libraries/Animated/components/AnimatedSectionList.js +22 -0
  53. package/Libraries/Animated/components/AnimatedText.js +22 -0
  54. package/Libraries/Animated/components/AnimatedView.js +20 -0
  55. package/Libraries/Animated/createAnimatedComponent.js +101 -0
  56. package/Libraries/Animated/nodes/AnimatedAddition.js +71 -0
  57. package/Libraries/Animated/nodes/AnimatedColor.js +323 -0
  58. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +80 -0
  59. package/Libraries/Animated/nodes/AnimatedDivision.js +87 -0
  60. package/Libraries/Animated/nodes/AnimatedInterpolation.js +420 -0
  61. package/Libraries/Animated/nodes/AnimatedModulo.js +66 -0
  62. package/Libraries/Animated/nodes/AnimatedMultiplication.js +70 -0
  63. package/Libraries/Animated/nodes/AnimatedNode.js +179 -0
  64. package/Libraries/Animated/nodes/AnimatedObject.js +169 -0
  65. package/Libraries/Animated/nodes/AnimatedProps.js +285 -0
  66. package/Libraries/Animated/nodes/AnimatedStyle.js +255 -0
  67. package/Libraries/Animated/nodes/AnimatedSubtraction.js +71 -0
  68. package/Libraries/Animated/nodes/AnimatedTracking.js +104 -0
  69. package/Libraries/Animated/nodes/AnimatedTransform.js +202 -0
  70. package/Libraries/Animated/nodes/AnimatedValue.js +348 -0
  71. package/Libraries/Animated/nodes/AnimatedValueXY.js +238 -0
  72. package/Libraries/Animated/nodes/AnimatedWithChildren.js +85 -0
  73. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  74. package/Libraries/Animated/useAnimatedProps.js +346 -0
  75. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  76. package/Libraries/Animated/useAnimatedValue.js +25 -0
  77. package/Libraries/AppState/AppState.d.ts +58 -0
  78. package/Libraries/AppState/AppState.js +91 -144
  79. package/Libraries/AppState/NativeAppState.js +5 -22
  80. package/Libraries/BatchedBridge/BatchedBridge.js +2 -2
  81. package/Libraries/BatchedBridge/MessageQueue.js +136 -114
  82. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  83. package/Libraries/BatchedBridge/NativeModules.js +36 -21
  84. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
  85. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
  86. package/Libraries/Blob/Blob.js +20 -3
  87. package/Libraries/Blob/BlobManager.js +7 -10
  88. package/Libraries/Blob/BlobRegistry.js +15 -10
  89. package/Libraries/Blob/BlobTypes.js +1 -1
  90. package/Libraries/Blob/File.js +3 -4
  91. package/Libraries/Blob/FileReader.js +36 -16
  92. package/Libraries/Blob/NativeBlobModule.js +5 -18
  93. package/Libraries/Blob/NativeFileReaderModule.js +5 -15
  94. package/Libraries/Blob/URL.js +38 -87
  95. package/Libraries/Blob/URLSearchParams.js +71 -0
  96. package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
  97. package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
  98. package/Libraries/BugReporting/BugReporting.js +8 -9
  99. package/Libraries/BugReporting/NativeBugReporting.js +5 -12
  100. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  101. package/Libraries/BugReporting/getReactData.js +17 -8
  102. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +177 -0
  103. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +493 -0
  104. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +466 -96
  105. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +5 -19
  106. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +11 -0
  107. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -51
  108. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +36 -0
  109. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
  110. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +36 -0
  111. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  112. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +77 -52
  113. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +4 -47
  114. package/Libraries/Components/Button/ButtonWin32.Props.d.ts +36 -36
  115. package/Libraries/Components/Button/ButtonWin32.Props.js +3 -3
  116. package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -0
  117. package/Libraries/Components/Button/ButtonWin32.d.ts +19 -19
  118. package/Libraries/Components/Button/ButtonWin32.js +83 -103
  119. package/Libraries/Components/Button/ButtonWin32.js.map +1 -0
  120. package/Libraries/Components/Button.d.ts +42 -0
  121. package/Libraries/Components/Button.js +328 -125
  122. package/Libraries/Components/Button.win32.js +463 -0
  123. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  124. package/Libraries/Components/Clipboard/Clipboard.js +3 -5
  125. package/Libraries/Components/Clipboard/NativeClipboard.js +5 -14
  126. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +4 -116
  127. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +44 -35
  128. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  129. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +7 -2
  130. package/Libraries/Components/EnterString.win32.d.ts +12 -12
  131. package/Libraries/Components/EnterString.win32.js +82 -114
  132. package/Libraries/Components/EnterString.win32.js.map +1 -0
  133. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  134. package/Libraries/Components/Keyboard/Keyboard.js +81 -71
  135. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  136. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +123 -56
  137. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +5 -13
  138. package/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +21 -0
  139. package/Libraries/Components/LayoutConformance/LayoutConformance.js +59 -0
  140. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +29 -0
  141. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  142. package/Libraries/Components/Pressable/Pressable.js +179 -46
  143. package/Libraries/Components/Pressable/Pressable.win32.js +437 -0
  144. package/Libraries/Components/Pressable/useAndroidRippleForView.js +38 -23
  145. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +36 -27
  146. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  147. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  148. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +5 -27
  149. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +4 -77
  150. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -56
  151. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  152. package/Libraries/Components/RefreshControl/RefreshControl.js +16 -38
  153. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +6 -8
  154. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +4 -20
  155. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  156. package/Libraries/Components/SafeAreaView/SafeAreaView.js +12 -39
  157. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +12 -41
  158. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +5 -32
  159. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +38 -21
  160. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +13 -20
  161. package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
  162. package/Libraries/Components/ScrollView/ScrollView.js +1119 -439
  163. package/Libraries/Components/ScrollView/ScrollViewCommands.js +5 -5
  164. package/Libraries/Components/ScrollView/ScrollViewContext.js +24 -0
  165. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +168 -18
  166. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +11 -17
  167. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +206 -62
  168. package/Libraries/Components/ScrollView/processDecelerationRate.js +2 -4
  169. package/Libraries/Components/Sound/NativeSoundManager.js +5 -15
  170. package/Libraries/Components/Sound/SoundManager.js +3 -4
  171. package/Libraries/Components/StaticRenderer.js +1 -1
  172. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +5 -27
  173. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +5 -35
  174. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  175. package/Libraries/Components/StatusBar/StatusBar.js +40 -60
  176. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +5 -56
  177. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  178. package/Libraries/Components/Switch/Switch.js +162 -133
  179. package/Libraries/Components/Switch/SwitchNativeComponent.js +5 -50
  180. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +237 -67
  181. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  182. package/Libraries/Components/TextInput/InputAccessoryView.js +28 -23
  183. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +5 -18
  184. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +29 -34
  185. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +24 -42
  186. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +169 -0
  187. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
  188. package/Libraries/Components/TextInput/Tests/TextInputTest.js +128 -126
  189. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -0
  190. package/Libraries/Components/TextInput/TextInput.d.ts +1012 -0
  191. package/Libraries/Components/TextInput/TextInput.flow.js +1115 -0
  192. package/Libraries/Components/TextInput/TextInput.js +1145 -444
  193. package/Libraries/Components/TextInput/TextInput.win32.js +2043 -179
  194. package/Libraries/Components/TextInput/TextInputNativeCommands.js +29 -0
  195. package/Libraries/Components/TextInput/TextInputState.js +42 -21
  196. package/Libraries/Components/TextInput/TextInputState.win32.js +55 -30
  197. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +26 -0
  198. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +5 -31
  199. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +11 -10
  200. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  201. package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
  202. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +16 -10
  203. package/Libraries/Components/Touchable/BoundingDimensions.js +13 -6
  204. package/Libraries/Components/Touchable/PooledClass.js +26 -15
  205. package/Libraries/Components/Touchable/Position.js +9 -5
  206. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
  207. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +344 -381
  208. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -0
  209. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  210. package/Libraries/Components/Touchable/Touchable.js +122 -133
  211. package/Libraries/Components/Touchable/Touchable.win32.js +978 -0
  212. package/Libraries/Components/Touchable/TouchableBounce.js +60 -55
  213. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +62 -0
  214. package/Libraries/Components/Touchable/TouchableHighlight.js +66 -56
  215. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
  216. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +86 -67
  217. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +99 -51
  218. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +81 -0
  219. package/Libraries/Components/Touchable/TouchableOpacity.js +95 -58
  220. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -34
  221. package/Libraries/Components/Touchable/TouchableWin32.Props.js +3 -3
  222. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -0
  223. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
  224. package/Libraries/Components/Touchable/TouchableWin32.Types.js +3 -3
  225. package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -0
  226. package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
  227. package/Libraries/Components/Touchable/TouchableWin32.js +507 -529
  228. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -0
  229. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +151 -0
  230. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +148 -107
  231. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +4 -19
  232. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +3 -4
  233. package/Libraries/Components/View/ReactNativeStyleAttributes.js +200 -69
  234. package/Libraries/Components/View/ReactNativeViewAttributes.js +7 -3
  235. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +37 -13
  236. package/Libraries/Components/View/View.d.ts +29 -0
  237. package/Libraries/Components/View/View.js +108 -16
  238. package/Libraries/Components/View/View.win32.js +276 -0
  239. package/Libraries/Components/View/ViewAccessibility.d.ts +566 -0
  240. package/Libraries/Components/View/ViewAccessibility.js +88 -7
  241. package/Libraries/Components/View/ViewAccessibility.win32.js +180 -0
  242. package/Libraries/Components/View/ViewNativeComponent.js +17 -71
  243. package/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
  244. package/Libraries/Components/View/ViewPropTypes.js +218 -66
  245. package/Libraries/Components/View/ViewPropTypes.win32.js +731 -0
  246. package/Libraries/Components/View/ViewWin32.d.ts +30 -12
  247. package/Libraries/Components/View/ViewWin32.js +130 -80
  248. package/Libraries/Core/Devtools/getDevServer.js +9 -8
  249. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  250. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +153 -0
  251. package/Libraries/Core/Devtools/openFileInEditor.js +6 -2
  252. package/Libraries/Core/Devtools/openURLInBrowser.js +3 -2
  253. package/Libraries/Core/Devtools/parseErrorStack.js +14 -23
  254. package/Libraries/Core/Devtools/parseHermesStack.js +71 -44
  255. package/Libraries/Core/Devtools/symbolicateStackTrace.js +13 -58
  256. package/Libraries/Core/ExceptionsManager.js +130 -114
  257. package/Libraries/Core/ExtendedError.js +33 -0
  258. package/Libraries/Core/InitializeCore.js +7 -3
  259. package/Libraries/Core/NativeExceptionsManager.js +5 -100
  260. package/Libraries/Core/RawEventEmitter.js +39 -0
  261. package/Libraries/Core/ReactFiberErrorDialog.js +47 -38
  262. package/Libraries/Core/ReactNativeVersion.js +13 -7
  263. package/Libraries/Core/ReactNativeVersionCheck.js +11 -8
  264. package/Libraries/Core/ReactNativeVersionCheck.win32.js +11 -8
  265. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +5 -21
  266. package/Libraries/Core/Timers/JSTimers.js +94 -120
  267. package/Libraries/Core/Timers/NativeTiming.js +5 -19
  268. package/Libraries/Core/Timers/immediateShim.js +68 -0
  269. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  270. package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
  271. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +19 -0
  272. package/Libraries/Core/checkNativeVersion.js +1 -1
  273. package/Libraries/Core/polyfillPromise.js +19 -3
  274. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  275. package/Libraries/Core/registerCallableModule.js +42 -0
  276. package/Libraries/Core/setUpAlert.js +2 -2
  277. package/Libraries/Core/setUpBatchedBridge.js +9 -20
  278. package/Libraries/Core/setUpDeveloperTools.js +59 -60
  279. package/Libraries/Core/setUpErrorHandling.js +21 -19
  280. package/Libraries/Core/setUpGlobals.js +8 -6
  281. package/Libraries/Core/setUpNavigator.js +8 -7
  282. package/Libraries/Core/setUpPerformance.js +31 -0
  283. package/Libraries/Core/setUpReactDevTools.js +194 -12
  284. package/Libraries/Core/setUpReactRefresh.js +4 -6
  285. package/Libraries/Core/setUpRegeneratorRuntime.js +28 -9
  286. package/Libraries/Core/setUpSegmentFetcher.js +9 -47
  287. package/Libraries/Core/setUpTimers.js +99 -8
  288. package/Libraries/Core/setUpXHR.js +5 -5
  289. package/Libraries/Debugging/DebuggingOverlay.js +110 -0
  290. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  291. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  292. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  293. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
  294. package/Libraries/EventEmitter/NativeEventEmitter.js +92 -40
  295. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
  296. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +27 -68
  297. package/Libraries/EventEmitter/RCTEventEmitter.js +3 -3
  298. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  299. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +2 -4
  300. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +34 -11
  301. package/Libraries/Events/CustomEvent.js +32 -0
  302. package/Libraries/Events/EventPolyfill.js +239 -0
  303. package/Libraries/Image/AssetRegistry.js +2 -27
  304. package/Libraries/Image/AssetSourceResolver.js +76 -39
  305. package/Libraries/Image/AssetUtils.js +47 -0
  306. package/Libraries/Image/Image.android.js +204 -271
  307. package/Libraries/Image/Image.d.ts +373 -0
  308. package/Libraries/Image/Image.ios.js +145 -104
  309. package/Libraries/Image/Image.win32.js +150 -93
  310. package/Libraries/Image/ImageAnalyticsTagContext.js +22 -0
  311. package/Libraries/Image/ImageBackground.js +29 -13
  312. package/Libraries/Image/ImageInjection.js +87 -0
  313. package/Libraries/Image/ImageProps.js +158 -32
  314. package/Libraries/Image/ImageResizeMode.d.ts +56 -0
  315. package/Libraries/Image/ImageResizeMode.js +5 -2
  316. package/Libraries/Image/ImageSource.d.ts +74 -0
  317. package/Libraries/Image/ImageSource.js +73 -23
  318. package/Libraries/Image/ImageSourceUtils.js +80 -0
  319. package/Libraries/Image/ImageTypes.d.ts +25 -25
  320. package/Libraries/Image/ImageTypes.flow.js +78 -0
  321. package/Libraries/Image/ImageTypes.js +8 -8
  322. package/Libraries/Image/ImageTypes.js.map +1 -0
  323. package/Libraries/Image/ImageUtils.js +25 -0
  324. package/Libraries/Image/ImageViewNativeComponent.js +147 -29
  325. package/Libraries/Image/NativeImageEditor.js +13 -0
  326. package/Libraries/Image/NativeImageLoaderAndroid.js +5 -32
  327. package/Libraries/Image/NativeImageLoaderIOS.js +5 -24
  328. package/Libraries/Image/NativeImageLoaderWin32.js +5 -32
  329. package/Libraries/Image/NativeImageStoreAndroid.js +13 -0
  330. package/Libraries/Image/NativeImageStoreIOS.js +13 -0
  331. package/Libraries/Image/RelativeImageStub.js +2 -2
  332. package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
  333. package/Libraries/Image/Tests/ImageWin32Test.js +22 -19
  334. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -0
  335. package/Libraries/Image/TextInlineImageNativeComponent.js +38 -7
  336. package/Libraries/Image/assetPaths.js +36 -0
  337. package/Libraries/Image/nativeImageSource.js +4 -6
  338. package/Libraries/Image/resolveAssetSource.js +65 -31
  339. package/Libraries/Image/resolveAssetSource.win32.js +18 -6
  340. package/Libraries/Inspector/BorderBox.js +27 -15
  341. package/Libraries/Inspector/BoxInspector.js +62 -45
  342. package/Libraries/Inspector/ElementBox.js +65 -53
  343. package/Libraries/Inspector/ElementProperties.js +35 -62
  344. package/Libraries/Inspector/Inspector.js +153 -259
  345. package/Libraries/Inspector/Inspector.win32.js +157 -263
  346. package/Libraries/Inspector/InspectorOverlay.js +28 -53
  347. package/Libraries/Inspector/InspectorOverlay.win32.js +31 -54
  348. package/Libraries/Inspector/InspectorPanel.js +31 -37
  349. package/Libraries/Inspector/NetworkOverlay.js +28 -18
  350. package/Libraries/Inspector/PerformanceOverlay.js +5 -5
  351. package/Libraries/Inspector/ReactDevToolsOverlay.js +165 -0
  352. package/Libraries/Inspector/StyleInspector.js +38 -32
  353. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +81 -0
  354. package/Libraries/Inspector/resolveBoxStyle.js +1 -1
  355. package/Libraries/Interaction/FrameRateLogger.js +10 -22
  356. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  357. package/Libraries/Interaction/InteractionManager.js +35 -41
  358. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  359. package/Libraries/Interaction/JSEventLoopWatchdog.js +10 -15
  360. package/Libraries/Interaction/NativeFrameRateLogger.js +5 -16
  361. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  362. package/Libraries/Interaction/PanResponder.js +26 -28
  363. package/Libraries/Interaction/TaskQueue.js +15 -16
  364. package/Libraries/Interaction/TouchHistoryMath.js +32 -29
  365. package/Libraries/JSInspector/InspectorAgent.js +4 -4
  366. package/Libraries/JSInspector/JSInspector.js +2 -5
  367. package/Libraries/JSInspector/NetworkAgent.js +12 -17
  368. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  369. package/Libraries/LayoutAnimation/LayoutAnimation.js +88 -39
  370. package/Libraries/Linking/Linking.d.ts +61 -0
  371. package/Libraries/Linking/Linking.js +50 -41
  372. package/Libraries/Linking/NativeIntentAndroid.js +13 -0
  373. package/Libraries/Linking/NativeLinkingManager.js +13 -0
  374. package/Libraries/Lists/FillRateHelper.js +6 -232
  375. package/Libraries/Lists/FlatList.d.ts +244 -0
  376. package/Libraries/Lists/FlatList.js +195 -128
  377. package/Libraries/Lists/SectionList.d.ts +267 -0
  378. package/Libraries/Lists/SectionList.js +38 -33
  379. package/Libraries/Lists/SectionListModern.js +249 -0
  380. package/Libraries/Lists/ViewabilityHelper.js +10 -327
  381. package/Libraries/Lists/VirtualizeUtils.js +6 -235
  382. package/Libraries/Lists/VirtualizedList.js +10 -2224
  383. package/Libraries/Lists/VirtualizedListContext.js +18 -0
  384. package/Libraries/Lists/VirtualizedSectionList.js +9 -565
  385. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +4 -3
  386. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +9 -9
  387. package/Libraries/LogBox/Data/LogBoxData.js +106 -75
  388. package/Libraries/LogBox/Data/LogBoxLog.js +125 -12
  389. package/Libraries/LogBox/Data/LogBoxSymbolication.js +10 -9
  390. package/Libraries/LogBox/Data/parseLogBoxLog.js +289 -76
  391. package/Libraries/LogBox/LogBox.d.ts +28 -0
  392. package/Libraries/LogBox/LogBox.js +175 -90
  393. package/Libraries/LogBox/LogBoxInspectorContainer.js +7 -7
  394. package/Libraries/LogBox/LogBoxNotificationContainer.js +11 -8
  395. package/Libraries/LogBox/UI/AnsiHighlight.js +42 -24
  396. package/Libraries/LogBox/UI/LogBoxButton.js +6 -7
  397. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  398. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  399. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  400. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  401. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  402. package/Libraries/LogBox/UI/LogBoxInspector.js +13 -77
  403. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
  404. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +18 -11
  405. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +173 -0
  406. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +9 -53
  407. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
  408. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +19 -79
  409. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +113 -0
  410. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
  411. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -7
  412. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +16 -14
  413. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +196 -0
  414. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -5
  415. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +6 -10
  416. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -10
  417. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +118 -0
  418. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +19 -11
  419. package/Libraries/LogBox/UI/LogBoxMessage.js +100 -19
  420. package/Libraries/LogBox/UI/LogBoxNotification.js +20 -158
  421. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
  422. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
  423. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
  424. package/Libraries/LogBox/UI/LogBoxStyle.js +1 -3
  425. package/Libraries/LogBox/UI/LogBoxStyle.win32.js +65 -0
  426. package/Libraries/Modal/Modal.d.ts +116 -0
  427. package/Libraries/Modal/Modal.js +168 -72
  428. package/Libraries/Modal/ModalInjection.js +15 -0
  429. package/Libraries/Modal/NativeModalManager.js +5 -14
  430. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +4 -117
  431. package/Libraries/NativeComponent/BaseViewConfig.android.js +421 -0
  432. package/Libraries/NativeComponent/BaseViewConfig.ios.js +421 -0
  433. package/Libraries/NativeComponent/BaseViewConfig.win32.js +413 -0
  434. package/Libraries/NativeComponent/NativeComponentRegistry.js +164 -0
  435. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +30 -0
  436. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +25 -0
  437. package/Libraries/NativeComponent/StaticViewConfigValidator.js +144 -0
  438. package/Libraries/NativeComponent/ViewConfig.js +52 -0
  439. package/Libraries/NativeComponent/ViewConfigIgnore.js +51 -0
  440. package/Libraries/NativeModules/specs/NativeDevMenu.js +5 -16
  441. package/Libraries/NativeModules/specs/NativeDevSettings.js +5 -26
  442. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +5 -12
  443. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +5 -41
  444. package/Libraries/NativeModules/specs/NativeLogBox.js +5 -13
  445. package/Libraries/NativeModules/specs/NativeRedBox.js +5 -13
  446. package/Libraries/NativeModules/specs/NativeSourceCode.js +5 -14
  447. package/Libraries/Network/FormData.js +21 -5
  448. package/Libraries/Network/NativeNetworkingAndroid.js +5 -30
  449. package/Libraries/Network/NativeNetworkingIOS.js +5 -30
  450. package/Libraries/Network/RCTNetworking.android.js +32 -20
  451. package/Libraries/Network/RCTNetworking.ios.js +22 -18
  452. package/Libraries/Network/RCTNetworking.win32.js +40 -69
  453. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +57 -0
  454. package/Libraries/Network/XHRInterceptor.js +66 -18
  455. package/Libraries/Network/XMLHttpRequest.js +107 -31
  456. package/Libraries/Network/convertRequestBody.js +4 -4
  457. package/Libraries/Network/fetch.js +2 -1
  458. package/Libraries/NewAppScreen/components/Colors.js +2 -3
  459. package/Libraries/NewAppScreen/components/DebugInstructions.js +9 -6
  460. package/Libraries/NewAppScreen/components/Header.js +38 -16
  461. package/Libraries/NewAppScreen/components/HermesBadge.js +53 -0
  462. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +52 -27
  463. package/Libraries/NewAppScreen/components/ReloadInstructions.js +5 -2
  464. package/Libraries/NewAppScreen/components/logo.png +0 -0
  465. package/Libraries/NewAppScreen/index.js +12 -6
  466. package/Libraries/Performance/Systrace.d.ts +66 -0
  467. package/Libraries/Performance/Systrace.js +116 -171
  468. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +5 -52
  469. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +163 -0
  470. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +64 -27
  471. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  472. package/Libraries/PersonaCoin/PersonaCoin.js +16 -22
  473. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -0
  474. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  475. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +20 -20
  476. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -0
  477. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  478. package/Libraries/PersonaCoin/PersonaCoinTypes.js +24 -24
  479. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -0
  480. package/Libraries/Pressability/HoverState.js +4 -4
  481. package/Libraries/Pressability/HoverState.win32.js +62 -0
  482. package/Libraries/Pressability/Pressability.js +244 -150
  483. package/Libraries/Pressability/Pressability.win32.js +1093 -0
  484. package/Libraries/Pressability/PressabilityDebug.js +31 -27
  485. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
  486. package/Libraries/Pressability/PressabilityTypes.js +18 -0
  487. package/Libraries/Pressability/usePressability.js +28 -11
  488. package/Libraries/Promise.js +5 -35
  489. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +5 -66
  490. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
  491. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +134 -83
  492. package/Libraries/QuirkSettings/CachingNativeQuirkSettings.js +30 -0
  493. package/Libraries/QuirkSettings/NativeQuirkSettings.js +17 -0
  494. package/Libraries/QuirkSettings/QuirkSettings.js +34 -0
  495. package/Libraries/QuirkSettings/Quirks.js +17 -0
  496. package/Libraries/ReactNative/AppContainer-dev.js +208 -0
  497. package/Libraries/ReactNative/AppContainer-prod.js +50 -0
  498. package/Libraries/ReactNative/AppContainer.js +13 -138
  499. package/Libraries/ReactNative/AppRegistry.d.ts +121 -0
  500. package/Libraries/ReactNative/AppRegistry.js +127 -78
  501. package/Libraries/ReactNative/BridgelessUIManager.js +419 -0
  502. package/Libraries/ReactNative/DisplayMode.js +32 -0
  503. package/Libraries/ReactNative/FabricUIManager.js +116 -27
  504. package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -3
  505. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  506. package/Libraries/ReactNative/I18nManager.js +17 -12
  507. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +5 -13
  508. package/Libraries/ReactNative/NativeI18nManager.js +5 -18
  509. package/Libraries/ReactNative/NativeUIManager.js +5 -114
  510. package/Libraries/ReactNative/PaperUIManager.js +79 -52
  511. package/Libraries/ReactNative/PaperUIManager.win32.js +210 -0
  512. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +150 -0
  513. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +100 -0
  514. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +38 -0
  515. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  516. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +33 -0
  517. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +31 -0
  518. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
  519. package/Libraries/ReactNative/RendererImplementation.js +164 -0
  520. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  521. package/Libraries/ReactNative/RendererProxy.js +26 -0
  522. package/Libraries/ReactNative/RootTag.d.ts +13 -0
  523. package/Libraries/ReactNative/RootTag.js +27 -0
  524. package/Libraries/ReactNative/UIManager.d.ts +113 -0
  525. package/Libraries/ReactNative/UIManager.js +178 -24
  526. package/Libraries/ReactNative/UIManagerProperties.js +6 -9
  527. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +33 -0
  528. package/Libraries/ReactNative/getNativeComponentAttributes.js +51 -25
  529. package/Libraries/ReactNative/renderApplication.js +72 -23
  530. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  531. package/Libraries/ReactNative/requireNativeComponent.js +9 -6
  532. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  533. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +66 -11
  534. package/Libraries/Renderer/implementations/ReactFabric-dev.js +16297 -19948
  535. package/Libraries/Renderer/implementations/ReactFabric-prod.js +8563 -5501
  536. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +9018 -5570
  537. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16537 -20505
  538. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +8466 -5422
  539. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +9225 -5791
  540. package/Libraries/Renderer/shims/ReactFabric.js +10 -9
  541. package/Libraries/Renderer/shims/ReactFeatureFlags.js +5 -3
  542. package/Libraries/Renderer/shims/ReactNative.js +6 -5
  543. package/Libraries/Renderer/shims/ReactNativeTypes.js +231 -85
  544. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +27 -37
  545. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +8 -7
  546. package/Libraries/Settings/NativeSettingsManager.js +5 -18
  547. package/Libraries/Settings/Settings.d.ts +18 -0
  548. package/Libraries/Settings/Settings.ios.js +7 -7
  549. package/Libraries/Settings/Settings.js +33 -0
  550. package/Libraries/Share/NativeShareModule.js +5 -16
  551. package/Libraries/Share/Share.d.ts +80 -0
  552. package/Libraries/Share/Share.js +33 -25
  553. package/Libraries/StyleSheet/EdgeInsetsPropType.js +5 -2
  554. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +10 -11
  555. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  556. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +52 -16
  557. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +15 -5
  558. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  559. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +11 -5
  560. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +4 -4
  561. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +2 -4
  562. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +2 -2
  563. package/Libraries/StyleSheet/PointPropType.js +1 -1
  564. package/Libraries/StyleSheet/Rect.js +1 -3
  565. package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
  566. package/Libraries/StyleSheet/StyleSheet.js +49 -57
  567. package/Libraries/StyleSheet/StyleSheet.win32.js +50 -58
  568. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +573 -0
  569. package/Libraries/StyleSheet/StyleSheetTypes.js +460 -132
  570. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +11 -35
  571. package/Libraries/StyleSheet/flattenStyle.js +14 -9
  572. package/Libraries/StyleSheet/normalizeColor.js +11 -370
  573. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  574. package/Libraries/StyleSheet/private/_TransformStyle.js +69 -0
  575. package/Libraries/StyleSheet/processAspectRatio.js +63 -0
  576. package/Libraries/StyleSheet/processBackgroundImage.js +361 -0
  577. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  578. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  579. package/Libraries/StyleSheet/processColor.js +6 -8
  580. package/Libraries/StyleSheet/processColorArray.js +18 -7
  581. package/Libraries/StyleSheet/processFilter.js +321 -0
  582. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  583. package/Libraries/StyleSheet/processTransform.js +131 -111
  584. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  585. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  586. package/Libraries/StyleSheet/splitLayoutProps.js +57 -49
  587. package/Libraries/Text/Text.d.ts +309 -0
  588. package/Libraries/Text/Text.js +505 -270
  589. package/Libraries/Text/Text.win32.js +577 -0
  590. package/Libraries/Text/TextAncestor.js +7 -2
  591. package/Libraries/Text/TextNativeComponent.js +82 -0
  592. package/Libraries/Text/TextNativeComponent.win32.js +117 -0
  593. package/Libraries/Text/TextProps.js +108 -30
  594. package/Libraries/Text/TextProps.win32.js +281 -0
  595. package/Libraries/TurboModule/RCTExport.d.ts +12 -0
  596. package/Libraries/TurboModule/RCTExport.js +3 -1
  597. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
  598. package/Libraries/TurboModule/TurboModuleRegistry.js +24 -16
  599. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +5 -28
  600. package/Libraries/Types/CodegenTypes.js +9 -2
  601. package/Libraries/Types/CoreEventTypes.d.ts +259 -0
  602. package/Libraries/Types/CoreEventTypes.js +145 -10
  603. package/Libraries/Types/CoreEventTypes.win32.js +340 -0
  604. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  605. package/Libraries/Types/RootTagTypes.js +11 -0
  606. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  607. package/Libraries/UTFSequence.js +6 -4
  608. package/Libraries/Utilities/Appearance.d.ts +53 -0
  609. package/Libraries/Utilities/Appearance.js +118 -63
  610. package/Libraries/Utilities/BackHandler.android.js +17 -37
  611. package/Libraries/Utilities/BackHandler.d.ts +34 -0
  612. package/Libraries/Utilities/BackHandler.ios.js +12 -102
  613. package/Libraries/Utilities/BackHandler.win32.js +96 -7
  614. package/Libraries/Utilities/DebugEnvironment.js +16 -0
  615. package/Libraries/Utilities/DevLoadingView.js +64 -0
  616. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  617. package/Libraries/Utilities/DevSettings.js +55 -48
  618. package/Libraries/Utilities/DeviceInfo.js +1 -3
  619. package/Libraries/Utilities/DeviceInfo.win32.js +0 -2
  620. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  621. package/Libraries/Utilities/Dimensions.js +30 -49
  622. package/Libraries/Utilities/Dimensions.win32.js +106 -18
  623. package/Libraries/Utilities/FeatureDetection.js +31 -0
  624. package/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
  625. package/Libraries/Utilities/FocusManager.win32.js +42 -0
  626. package/Libraries/Utilities/GlobalPerformanceLogger.js +4 -5
  627. package/Libraries/Utilities/HMRClient.js +102 -39
  628. package/Libraries/Utilities/HMRClientProdShim.js +2 -1
  629. package/Libraries/Utilities/IPerformanceLogger.d.ts +48 -0
  630. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  631. package/Libraries/Utilities/NativeAppearance.js +5 -28
  632. package/Libraries/Utilities/NativeDevLoadingView.js +5 -17
  633. package/Libraries/Utilities/NativeDeviceInfo.js +4 -40
  634. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +5 -30
  635. package/Libraries/Utilities/NativePlatformConstantsIOS.js +5 -26
  636. package/Libraries/Utilities/NativePlatformConstantsWin.js +4 -21
  637. package/Libraries/Utilities/PerformanceLoggerContext.js +17 -10
  638. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  639. package/Libraries/Utilities/PixelRatio.js +6 -6
  640. package/Libraries/Utilities/Platform.android.js +37 -16
  641. package/Libraries/Utilities/Platform.d.ts +106 -0
  642. package/Libraries/Utilities/Platform.flow.js +91 -0
  643. package/Libraries/Utilities/Platform.flow.win32.js +125 -0
  644. package/Libraries/Utilities/Platform.ios.js +39 -19
  645. package/Libraries/Utilities/Platform.win32.js +42 -15
  646. package/Libraries/Utilities/PolyfillFunctions.js +6 -6
  647. package/Libraries/Utilities/RCTLog.js +6 -5
  648. package/Libraries/Utilities/ReactNativeTestTools.js +36 -58
  649. package/Libraries/Utilities/SceneTracker.js +6 -5
  650. package/Libraries/Utilities/__mocks__/BackHandler.js +7 -12
  651. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
  652. package/Libraries/Utilities/__mocks__/PixelRatio.js +2 -2
  653. package/Libraries/Utilities/binaryToBase64.js +6 -4
  654. package/Libraries/Utilities/codegenNativeCommands.js +6 -6
  655. package/Libraries/Utilities/codegenNativeComponent.js +25 -15
  656. package/Libraries/Utilities/createPerformanceLogger.js +259 -244
  657. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +12 -6
  658. package/Libraries/Utilities/defineLazyObjectProperty.js +3 -3
  659. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  660. package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
  661. package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
  662. package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
  663. package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
  664. package/Libraries/Utilities/dismissKeyboard.js +1 -1
  665. package/Libraries/Utilities/infoLog.js +3 -2
  666. package/Libraries/Utilities/logError.js +2 -2
  667. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  668. package/Libraries/Utilities/stringifySafe.js +8 -8
  669. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  670. package/Libraries/Utilities/useColorScheme.js +10 -16
  671. package/Libraries/Utilities/useMergeRefs.js +59 -0
  672. package/Libraries/Utilities/useRefEffect.js +45 -0
  673. package/Libraries/Utilities/useWindowDimensions.js +15 -8
  674. package/Libraries/Utilities/warnOnce.js +3 -5
  675. package/Libraries/Vibration/NativeVibration.js +5 -17
  676. package/Libraries/Vibration/Vibration.d.ts +43 -0
  677. package/Libraries/Vibration/Vibration.js +16 -14
  678. package/Libraries/WebSocket/NativeWebSocketModule.js +5 -27
  679. package/Libraries/WebSocket/WebSocket.js +47 -27
  680. package/Libraries/WebSocket/WebSocketEvent.js +5 -2
  681. package/Libraries/WebSocket/WebSocketInterceptor.js +46 -27
  682. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  683. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  684. package/Libraries/YellowBox/YellowBoxDeprecated.js +6 -6
  685. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +7 -7
  686. package/Libraries/__tests__/ButtonWin32-test.js +17 -0
  687. package/Libraries/platform-types.d.ts +25 -0
  688. package/Libraries/promiseRejectionTrackingOptions.js +72 -0
  689. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  690. package/Libraries/vendor/core/ErrorUtils.js +2 -2
  691. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  692. package/Libraries/vendor/emitter/EventEmitter.js +123 -193
  693. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
  694. package/babel.config.js +3 -0
  695. package/flow/HermesInternalType.js +114 -0
  696. package/flow/Position.js +1 -1
  697. package/flow/Stringish.js +1 -1
  698. package/flow/console.js +1 -1
  699. package/flow/global.js +87 -0
  700. package/flow/jest.js +266 -168
  701. package/flow/react.js +15 -0
  702. package/index.js +365 -255
  703. package/index.win32.js +773 -42
  704. package/interface.js +9 -9
  705. package/jest/MockNativeMethods.js +1 -1
  706. package/jest/__tests__/setup-test.js +18 -0
  707. package/jest/assetFileTransformer.js +7 -5
  708. package/jest/local-setup.js +28 -0
  709. package/jest/mockComponent.js +28 -16
  710. package/jest/mockModal.js +32 -0
  711. package/jest/mockNativeComponent.js +40 -0
  712. package/jest/mockScrollView.js +35 -0
  713. package/jest/react-native-env.js +16 -0
  714. package/jest/renderer.js +29 -22
  715. package/jest/setup.js +194 -89
  716. package/jest-snapshot-resolver.js +2 -0
  717. package/jest.config.js +38 -0
  718. package/just-task.js +11 -53
  719. package/metro.config.js +5 -20
  720. package/metroShortPathAssetDataPlugin.js +15 -0
  721. package/overrides.json +323 -251
  722. package/package.json +88 -46
  723. package/react-native.config.js +2 -0
  724. package/rn-get-polyfills.js +3 -6
  725. package/saveAssetPlugin.js +45 -0
  726. package/src/private/animated/NativeAnimatedHelper.js +440 -0
  727. package/src/private/animated/NativeAnimatedHelper.win32.js +443 -0
  728. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  729. package/src/private/animated/useAnimatedPropsMemo.js +356 -0
  730. package/src/private/components/HScrollViewNativeComponents.js +30 -0
  731. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +32 -0
  732. package/src/private/components/VScrollViewNativeComponents.js +25 -0
  733. package/src/private/debugging/FuseboxSessionObserver.js +42 -0
  734. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  735. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  736. package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +20 -0
  737. package/src/private/debugging/setUpFuseboxReactDevToolsDispatcher.js +114 -0
  738. package/src/private/devmenu/DevMenu.d.ts +20 -0
  739. package/src/private/devmenu/DevMenu.js +31 -0
  740. package/src/private/featureflags/ReactNativeFeatureFlags.js +375 -0
  741. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +109 -0
  742. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +78 -0
  743. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  744. package/src/private/renderer/errorhandling/ErrorHandlers.js +83 -0
  745. package/src/private/setup/setUpDOM.js +36 -0
  746. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  747. package/src/private/setup/setUpMutationObserver.js +31 -0
  748. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  749. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  750. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  751. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +27 -0
  752. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  753. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  754. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  755. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  756. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  757. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  758. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +147 -0
  759. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  760. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  761. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  762. package/src/private/specs/modules/NativeAccessibilityInfo.js +42 -0
  763. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +48 -0
  764. package/src/private/specs/modules/NativeAccessibilityManager.js +70 -0
  765. package/src/private/specs/modules/NativeActionSheetManager.js +56 -0
  766. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  767. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  768. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  769. package/src/private/specs/modules/NativeAppState.js +33 -0
  770. package/src/private/specs/modules/NativeAppearance.js +30 -0
  771. package/src/private/specs/modules/NativeBlobModule.js +61 -0
  772. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  773. package/src/private/specs/modules/NativeCPUTime.js +24 -0
  774. package/src/private/specs/modules/NativeClipboard.js +21 -0
  775. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  776. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  777. package/src/private/specs/modules/NativeDevSettings.js +34 -0
  778. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  779. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  780. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  781. package/src/private/specs/modules/NativeExceptionsManager.js +91 -0
  782. package/src/private/specs/modules/NativeFantom.js +37 -0
  783. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  784. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  785. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  786. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  787. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  788. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  789. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  790. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  791. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  792. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  793. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  794. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  795. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  796. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  797. package/src/private/specs/modules/NativeLogBox.js +20 -0
  798. package/src/private/specs/modules/NativeModalManager.js +21 -0
  799. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  800. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  801. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  802. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  803. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  804. package/src/private/specs/modules/NativePlatformConstantsWin.js +44 -0
  805. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
  806. package/src/private/specs/modules/NativeReactDevToolsSettingsManager.js +22 -0
  807. package/src/private/specs/modules/NativeRedBox.js +20 -0
  808. package/src/private/specs/modules/NativeSampleTurboModule.js +66 -0
  809. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  810. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  811. package/src/private/specs/modules/NativeShareModule.js +23 -0
  812. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  813. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  814. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  815. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  816. package/src/private/specs/modules/NativeTiming.js +26 -0
  817. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  818. package/src/private/specs/modules/NativeUIManager.js +111 -0
  819. package/src/private/specs/modules/NativeVibration.js +24 -0
  820. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  821. package/src/private/styles/composeStyles.js +27 -0
  822. package/src/private/utilities/ensureInstance.js +21 -0
  823. package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
  824. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
  825. package/src/private/webapis/dom/nodes/ReactNativeElement.js +231 -0
  826. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +71 -0
  827. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
  828. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +367 -0
  829. package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
  830. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  831. package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
  832. package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
  833. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
  834. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
  835. package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
  836. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
  837. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +345 -0
  838. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +167 -0
  839. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +277 -0
  840. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +43 -0
  841. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
  842. package/src/private/webapis/mutationobserver/MutationObserver.js +186 -0
  843. package/src/private/webapis/mutationobserver/MutationObserverManager.js +227 -0
  844. package/src/private/webapis/mutationobserver/MutationRecord.js +82 -0
  845. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +58 -0
  846. package/src/private/webapis/performance/EventTiming.js +145 -0
  847. package/src/private/webapis/performance/LongTasks.js +39 -0
  848. package/src/private/webapis/performance/MemoryInfo.js +54 -0
  849. package/src/private/webapis/performance/Performance.js +287 -0
  850. package/src/private/webapis/performance/PerformanceEntry.js +68 -0
  851. package/src/private/webapis/performance/PerformanceObserver.js +232 -0
  852. package/src/private/webapis/performance/RawPerformanceEntry.js +105 -0
  853. package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
  854. package/src/private/webapis/performance/UserTiming.js +72 -0
  855. package/src/private/webapis/performance/Utilities.js +18 -0
  856. package/src/private/webapis/performance/specs/NativePerformance.js +92 -0
  857. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  858. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +177 -0
  859. package/src-win/Libraries/Components/Button/ButtonWin32.Props.ts +45 -0
  860. package/src-win/Libraries/Components/Button/ButtonWin32.tsx +94 -0
  861. package/src-win/Libraries/Components/EnterString.win32.tsx +110 -0
  862. package/src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx +185 -0
  863. package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +502 -0
  864. package/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
  865. package/src-win/Libraries/Components/Touchable/TouchableWin32.Props.tsx +46 -0
  866. package/src-win/Libraries/Components/Touchable/TouchableWin32.Types.tsx +137 -0
  867. package/src-win/Libraries/Components/Touchable/TouchableWin32.tsx +624 -0
  868. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +566 -0
  869. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
  870. package/src-win/Libraries/Components/View/ViewWin32.d.ts +30 -0
  871. package/src-win/Libraries/Image/ImageTypes.ts +27 -0
  872. package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +22 -0
  873. package/src-win/Libraries/Image/Tests/img/dpitest.png +0 -0
  874. package/src-win/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  875. package/src-win/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  876. package/src-win/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  877. package/src-win/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  878. package/src-win/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  879. package/src-win/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  880. package/src-win/Libraries/PersonaCoin/PersonaCoin.tsx +13 -0
  881. package/src-win/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +17 -0
  882. package/src-win/Libraries/PersonaCoin/PersonaCoinTypes.ts +36 -0
  883. package/src-win/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +38 -0
  884. package/src-win/Libraries/Text/Text.d.ts +309 -0
  885. package/src-win/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
  886. package/src-win/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
  887. package/src-win/Libraries/platform-types.d.ts +25 -0
  888. package/types/index.d.ts +219 -0
  889. package/types/modules/BatchedBridge.d.ts +32 -0
  890. package/types/modules/Codegen.d.ts +80 -0
  891. package/types/modules/Devtools.d.ts +32 -0
  892. package/types/modules/LaunchScreen.d.ts +18 -0
  893. package/types/modules/globals.d.ts +599 -0
  894. package/types/private/TimerMixin.d.ts +19 -0
  895. package/types/private/Utilities.d.ts +10 -0
  896. package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
  897. package/types/public/Insets.d.ts +15 -0
  898. package/types/public/ReactNativeRenderer.d.ts +144 -0
  899. package/types/public/ReactNativeTypes.d.ts +139 -0
  900. package/IntegrationTests/AsyncStorageTest.js +0 -217
  901. package/IntegrationTests/PropertiesUpdateTest.js +0 -29
  902. package/IntegrationTests/RCTRootViewIntegrationTestApp.js +0 -92
  903. package/IntegrationTests/ReactContentSizeUpdateTest.js +0 -91
  904. package/IntegrationTests/SizeFlexibilityUpdateTest.js +0 -108
  905. package/IntegrationTests/launchWebSocketServer.command +0 -18
  906. package/Libraries/Animated/examples/demo.html +0 -712
  907. package/Libraries/Animated/examples/pic1.jpg +0 -0
  908. package/Libraries/Animated/examples/pic2.jpg +0 -0
  909. package/Libraries/Animated/examples/pic3.jpg +0 -0
  910. package/Libraries/Animated/release/gulpfile.js +0 -155
  911. package/Libraries/Animated/src/Animated.js +0 -49
  912. package/Libraries/Animated/src/AnimatedEvent.js +0 -233
  913. package/Libraries/Animated/src/AnimatedImplementation.js +0 -712
  914. package/Libraries/Animated/src/AnimatedMock.js +0 -156
  915. package/Libraries/Animated/src/AnimatedWeb.js +0 -23
  916. package/Libraries/Animated/src/Easing.js +0 -252
  917. package/Libraries/Animated/src/NativeAnimatedHelper.js +0 -342
  918. package/Libraries/Animated/src/NativeAnimatedModule.js +0 -66
  919. package/Libraries/Animated/src/SpringConfig.js +0 -103
  920. package/Libraries/Animated/src/animations/Animation.js +0 -73
  921. package/Libraries/Animated/src/animations/DecayAnimation.js +0 -120
  922. package/Libraries/Animated/src/animations/SpringAnimation.js +0 -359
  923. package/Libraries/Animated/src/animations/TimingAnimation.js +0 -165
  924. package/Libraries/Animated/src/bezier.js +0 -153
  925. package/Libraries/Animated/src/components/AnimatedFlatList.js +0 -32
  926. package/Libraries/Animated/src/components/AnimatedImage.js +0 -25
  927. package/Libraries/Animated/src/components/AnimatedScrollView.js +0 -32
  928. package/Libraries/Animated/src/components/AnimatedSectionList.js +0 -32
  929. package/Libraries/Animated/src/components/AnimatedText.js +0 -25
  930. package/Libraries/Animated/src/components/AnimatedView.js +0 -23
  931. package/Libraries/Animated/src/createAnimatedComponent.js +0 -223
  932. package/Libraries/Animated/src/nodes/AnimatedAddition.js +0 -63
  933. package/Libraries/Animated/src/nodes/AnimatedDiffClamp.js +0 -71
  934. package/Libraries/Animated/src/nodes/AnimatedDivision.js +0 -68
  935. package/Libraries/Animated/src/nodes/AnimatedInterpolation.js +0 -373
  936. package/Libraries/Animated/src/nodes/AnimatedModulo.js +0 -62
  937. package/Libraries/Animated/src/nodes/AnimatedMultiplication.js +0 -63
  938. package/Libraries/Animated/src/nodes/AnimatedNode.js +0 -184
  939. package/Libraries/Animated/src/nodes/AnimatedProps.js +0 -176
  940. package/Libraries/Animated/src/nodes/AnimatedStyle.js +0 -127
  941. package/Libraries/Animated/src/nodes/AnimatedSubtraction.js +0 -63
  942. package/Libraries/Animated/src/nodes/AnimatedTracking.js +0 -102
  943. package/Libraries/Animated/src/nodes/AnimatedTransform.js +0 -121
  944. package/Libraries/Animated/src/nodes/AnimatedValue.js +0 -265
  945. package/Libraries/Animated/src/nodes/AnimatedValueXY.js +0 -226
  946. package/Libraries/Animated/src/nodes/AnimatedWithChildren.js +0 -87
  947. package/Libraries/Animated/src/polyfills/InteractionManager.js +0 -15
  948. package/Libraries/Animated/src/polyfills/Set.js +0 -26
  949. package/Libraries/Animated/src/polyfills/flattenStyle.js +0 -13
  950. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -162
  951. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -271
  952. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.win32.js +0 -33
  953. package/Libraries/Components/AppleTV/NativeTVNavigationEventEmitter.js +0 -23
  954. package/Libraries/Components/AppleTV/TVEventHandler.js +0 -52
  955. package/Libraries/Components/CheckBox/AndroidCheckBoxNativeComponent.js +0 -74
  956. package/Libraries/Components/CheckBox/CheckBox.android.js +0 -228
  957. package/Libraries/Components/CheckBox/CheckBox.ios.js +0 -13
  958. package/Libraries/Components/CheckBox/CheckBox.win32.js +0 -12
  959. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -46
  960. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -189
  961. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -46
  962. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  963. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -89
  964. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  965. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.win32.js +0 -30
  966. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  967. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -22
  968. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +0 -12
  969. package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +0 -13
  970. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  971. package/Libraries/Components/MaskedView/MaskedViewIOS.win32.js +0 -13
  972. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  973. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -68
  974. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -68
  975. package/Libraries/Components/Picker/Picker.js +0 -159
  976. package/Libraries/Components/Picker/Picker.win32.d.ts +0 -1
  977. package/Libraries/Components/Picker/Picker.win32.js +0 -80
  978. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -146
  979. package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
  980. package/Libraries/Components/Picker/PickerAndroid.js +0 -12
  981. package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
  982. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
  983. package/Libraries/Components/Picker/PickerIOS.js +0 -14
  984. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -63
  985. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +0 -12
  986. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -46
  987. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -77
  988. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -8
  989. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -35
  990. package/Libraries/Components/ScrollResponder.js +0 -773
  991. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -77
  992. package/Libraries/Components/ScrollView/__mocks__/ScrollViewMock.js +0 -39
  993. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -46
  994. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -46
  995. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  996. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.js +0 -46
  997. package/Libraries/Components/Slider/Slider.js +0 -276
  998. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -60
  999. package/Libraries/Components/StaticContainer.react.js +0 -51
  1000. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -22
  1001. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -26
  1002. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  1003. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  1004. package/Libraries/Components/Text/TextWin32.js +0 -41
  1005. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -84
  1006. package/Libraries/Components/TextInput/RCTSinglelineTextInputViewConfig.js +0 -134
  1007. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +0 -51
  1008. package/Libraries/Components/TextInput/TextInput.Types.win32.js +0 -3
  1009. package/Libraries/Components/TextInput/TextInput.win32.d.ts +0 -68
  1010. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +0 -39
  1011. package/Libraries/Components/Touchable/TVTouchable.js +0 -55
  1012. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.d.ts +0 -7
  1013. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.js +0 -3
  1014. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.d.ts +0 -16
  1015. package/Libraries/Components/Touchable/__mocks__/ensureComponentIsNative.js +0 -12
  1016. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
  1017. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -347
  1018. package/Libraries/Components/View/ReactNativeViewViewConfig.win32.js +0 -384
  1019. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -74
  1020. package/Libraries/Components/View/Tests/ViewWin32Test.d.ts +0 -8
  1021. package/Libraries/Components/View/Tests/ViewWin32Test.js +0 -235
  1022. package/Libraries/Components/View/ViewWin32.Props.d.ts +0 -149
  1023. package/Libraries/Components/View/ViewWin32.Props.js +0 -11
  1024. package/Libraries/Core/setUpSystrace.js +0 -21
  1025. package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
  1026. package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
  1027. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.js +0 -82
  1028. package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
  1029. package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
  1030. package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
  1031. package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
  1032. package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
  1033. package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
  1034. package/Libraries/DeprecatedPropTypes/DeprecatedTVViewPropTypes.js +0 -23
  1035. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
  1036. package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
  1037. package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
  1038. package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
  1039. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -44
  1040. package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
  1041. package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
  1042. package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
  1043. package/Libraries/HeapCapture/HeapCapture.js +0 -31
  1044. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -20
  1045. package/Libraries/Image/ImagePickerIOS.js +0 -105
  1046. package/Libraries/Image/ImageViewViewConfig.js +0 -68
  1047. package/Libraries/Image/NativeImagePickerIOS.js +0 -40
  1048. package/Libraries/Image/assetPathUtils.js +0 -91
  1049. package/Libraries/Interaction/Batchinator.js +0 -76
  1050. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -62
  1051. package/Libraries/Interaction/InteractionMixin.js +0 -55
  1052. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  1053. package/Libraries/Linking/NativeLinking.js +0 -41
  1054. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -21
  1055. package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -20
  1056. package/Libraries/Performance/PureComponentDebug.js +0 -73
  1057. package/Libraries/Performance/QuickPerformanceLogger.js +0 -101
  1058. package/Libraries/Performance/SamplingProfiler.js +0 -39
  1059. package/Libraries/ReactNative/DummyUIManager.js +0 -123
  1060. package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
  1061. package/Libraries/ReactNative/RootTagContext.js +0 -15
  1062. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  1063. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -20493
  1064. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -7440
  1065. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -7718
  1066. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -21091
  1067. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -7677
  1068. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -7955
  1069. package/Libraries/Renderer/shims/ReactTypes.js +0 -192
  1070. package/Libraries/Settings/Settings.android.js +0 -33
  1071. package/Libraries/Storage/AsyncStorage.js +0 -360
  1072. package/Libraries/Storage/NativeAsyncStorage.js +0 -44
  1073. package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.android.js +0 -18
  1074. package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.js +0 -17
  1075. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -97
  1076. package/Libraries/StyleSheet/StyleSheetValidation.win32.js +0 -102
  1077. package/Libraries/Utilities/BackHandler.win32.d.ts +0 -2
  1078. package/Libraries/Utilities/JSDevSupportModule.js +0 -40
  1079. package/Libraries/Utilities/LoadingView.android.js +0 -29
  1080. package/Libraries/Utilities/LoadingView.ios.js +0 -40
  1081. package/Libraries/Utilities/LoadingView.js +0 -16
  1082. package/Libraries/Utilities/MatrixMath.js +0 -752
  1083. package/Libraries/Utilities/NativeJSDevSupport.js +0 -25
  1084. package/Libraries/Utilities/buildStyleInterpolator.js +0 -211
  1085. package/Libraries/Utilities/clamp.js +0 -23
  1086. package/Libraries/Utilities/deprecatedPropType.js +0 -38
  1087. package/Libraries/Utilities/groupByEveryN.js +0 -51
  1088. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  1089. package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
  1090. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  1091. package/Libraries/Utilities/truncate.js +0 -51
  1092. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -134
  1093. package/Libraries/polyfills/Object.es7.js +0 -58
  1094. package/Libraries/polyfills/console.js +0 -641
  1095. package/Libraries/polyfills/error-guard.js +0 -115
  1096. package/Libraries/promiseRejectionIsError.js +0 -24
  1097. package/Libraries/vendor/emitter/EmitterSubscription.js +0 -59
  1098. package/Libraries/vendor/emitter/EventSubscription.js +0 -40
  1099. package/Libraries/vendor/emitter/EventSubscriptionVendor.js +0 -101
  1100. package/RNTester/APIExamples/AccessibilityExampleWin32.d.ts +0 -8
  1101. package/RNTester/APIExamples/AccessibilityExampleWin32.js +0 -262
  1102. package/RNTester/APIExamples/ThemingModuleAPI.d.ts +0 -8
  1103. package/RNTester/APIExamples/ThemingModuleAPI.js +0 -80
  1104. package/RNTester/js/RNTesterApp.android.js +0 -363
  1105. package/RNTester/js/RNTesterApp.ios.js +0 -272
  1106. package/RNTester/js/RNTesterApp.win32.js +0 -285
  1107. package/RNTester/js/assets/bandaged.png +0 -0
  1108. package/RNTester/js/assets/bunny.png +0 -0
  1109. package/RNTester/js/assets/call.png +0 -0
  1110. package/RNTester/js/assets/dislike.png +0 -0
  1111. package/RNTester/js/assets/fist.png +0 -0
  1112. package/RNTester/js/assets/flowers.png +0 -0
  1113. package/RNTester/js/assets/flux@3x.png +0 -0
  1114. package/RNTester/js/assets/hawk.png +0 -0
  1115. package/RNTester/js/assets/heart.png +0 -0
  1116. package/RNTester/js/assets/helloworld.html +0 -25
  1117. package/RNTester/js/assets/imageMask.png +0 -0
  1118. package/RNTester/js/assets/like.png +0 -0
  1119. package/RNTester/js/assets/liking.png +0 -0
  1120. package/RNTester/js/assets/messagingtest.html +0 -28
  1121. package/RNTester/js/assets/party.png +0 -0
  1122. package/RNTester/js/assets/poke.png +0 -0
  1123. package/RNTester/js/assets/relay@3x.png +0 -0
  1124. package/RNTester/js/assets/slider-left.png +0 -0
  1125. package/RNTester/js/assets/slider-left@2x.png +0 -0
  1126. package/RNTester/js/assets/slider-right.png +0 -0
  1127. package/RNTester/js/assets/slider-right@2x.png +0 -0
  1128. package/RNTester/js/assets/slider.png +0 -0
  1129. package/RNTester/js/assets/slider@2x.png +0 -0
  1130. package/RNTester/js/assets/superlike.png +0 -0
  1131. package/RNTester/js/assets/trees.jpg +0 -0
  1132. package/RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif +0 -0
  1133. package/RNTester/js/assets/uie_comment_highlighted@2x.png +0 -0
  1134. package/RNTester/js/assets/uie_comment_normal@2x.png +0 -0
  1135. package/RNTester/js/assets/uie_thumb_big.png +0 -0
  1136. package/RNTester/js/assets/uie_thumb_normal@2x.png +0 -0
  1137. package/RNTester/js/assets/uie_thumb_selected@2x.png +0 -0
  1138. package/RNTester/js/assets/victory.png +0 -0
  1139. package/RNTester/js/components/ListExampleShared.js +0 -377
  1140. package/RNTester/js/components/ListExampleShared.win32.js +0 -384
  1141. package/RNTester/js/components/RNTesterBlock.js +0 -105
  1142. package/RNTester/js/components/RNTesterButton.js +0 -50
  1143. package/RNTester/js/components/RNTesterExampleContainer.js +0 -80
  1144. package/RNTester/js/components/RNTesterExampleFilter.js +0 -120
  1145. package/RNTester/js/components/RNTesterExampleFilter.win32.js +0 -120
  1146. package/RNTester/js/components/RNTesterExampleList.js +0 -254
  1147. package/RNTester/js/components/RNTesterPage.js +0 -76
  1148. package/RNTester/js/components/RNTesterSettingSwitchRow.js +0 -60
  1149. package/RNTester/js/components/RNTesterTheme.js +0 -90
  1150. package/RNTester/js/components/RNTesterTitle.js +0 -58
  1151. package/RNTester/js/components/TextInlineView.js +0 -207
  1152. package/RNTester/js/components/TextLegend.js +0 -248
  1153. package/RNTester/js/components/createExamplePage.js +0 -31
  1154. package/RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js +0 -177
  1155. package/RNTester/js/examples/Accessibility/AccessibilityExample.js +0 -792
  1156. package/RNTester/js/examples/Accessibility/AccessibilityIOSExample.js +0 -72
  1157. package/RNTester/js/examples/Accessibility/check.png +0 -0
  1158. package/RNTester/js/examples/Accessibility/mixed.png +0 -0
  1159. package/RNTester/js/examples/Accessibility/uncheck.png +0 -0
  1160. package/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +0 -342
  1161. package/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js +0 -162
  1162. package/RNTester/js/examples/Alert/AlertExample.js +0 -158
  1163. package/RNTester/js/examples/Alert/AlertIOSExample.js +0 -204
  1164. package/RNTester/js/examples/Animated/AnimatedExample.js +0 -347
  1165. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExApp.js +0 -407
  1166. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExBobble.js +0 -171
  1167. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExChained.js +0 -120
  1168. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExScroll.js +0 -124
  1169. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExSet.js +0 -149
  1170. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExSlides.md +0 -107
  1171. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExTilt.js +0 -154
  1172. package/RNTester/js/examples/AppState/AppStateExample.js +0 -106
  1173. package/RNTester/js/examples/Appearance/AppearanceExample.js +0 -219
  1174. package/RNTester/js/examples/AsyncStorage/AsyncStorageExample.js +0 -103
  1175. package/RNTester/js/examples/Border/BorderExample.js +0 -301
  1176. package/RNTester/js/examples/BoxShadow/BoxShadowExample.js +0 -100
  1177. package/RNTester/js/examples/Button/ButtonExample.js +0 -127
  1178. package/RNTester/js/examples/CheckBox/CheckBoxExample.js +0 -148
  1179. package/RNTester/js/examples/Clipboard/ClipboardExample.js +0 -68
  1180. package/RNTester/js/examples/ColorGradientWin32Example.js +0 -109
  1181. package/RNTester/js/examples/Crash/CrashExample.js +0 -52
  1182. package/RNTester/js/examples/DatePicker/DatePickerAndroidExample.js +0 -170
  1183. package/RNTester/js/examples/DatePicker/DatePickerIOSExample.js +0 -150
  1184. package/RNTester/js/examples/DevSettings/DevSettingsExample.js +0 -47
  1185. package/RNTester/js/examples/Dimensions/DimensionsExample.js +0 -68
  1186. package/RNTester/js/examples/FlatList/FlatListExample.js +0 -287
  1187. package/RNTester/js/examples/Image/ImageCapInsetsExample.js +0 -68
  1188. package/RNTester/js/examples/Image/ImageExample.js +0 -955
  1189. package/RNTester/js/examples/InputAccessoryView/InputAccessoryViewExample.js +0 -121
  1190. package/RNTester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js +0 -77
  1191. package/RNTester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js +0 -120
  1192. package/RNTester/js/examples/Layout/LayoutAnimationExample.js +0 -221
  1193. package/RNTester/js/examples/Layout/LayoutEventsExample.js +0 -165
  1194. package/RNTester/js/examples/Layout/LayoutExample.js +0 -206
  1195. package/RNTester/js/examples/Linking/LinkingExample.js +0 -128
  1196. package/RNTester/js/examples/MaskedView/MaskedViewExample.js +0 -236
  1197. package/RNTester/js/examples/Modal/ModalExample.js +0 -283
  1198. package/RNTester/js/examples/MultiColumn/MultiColumnExample.js +0 -189
  1199. package/RNTester/js/examples/NativeAnimation/NativeAnimationsExample.js +0 -702
  1200. package/RNTester/js/examples/NewAppScreen/NewAppScreenExample.js +0 -77
  1201. package/RNTester/js/examples/OrientationChange/OrientationChangeExample.js +0 -66
  1202. package/RNTester/js/examples/PanResponder/PanResponderExample.js +0 -154
  1203. package/RNTester/js/examples/PermissionsAndroid/PermissionsExample.js +0 -130
  1204. package/RNTester/js/examples/Picker/PickerExample.js +0 -220
  1205. package/RNTester/js/examples/Picker/PickerIOSExample.js +0 -190
  1206. package/RNTester/js/examples/PlatformColor/PlatformColorExample.js +0 -355
  1207. package/RNTester/js/examples/PointerEvents/PointerEventsExample.js +0 -240
  1208. package/RNTester/js/examples/Pressable/PressableExample.js +0 -426
  1209. package/RNTester/js/examples/ProgressBarAndroid/ProgressBarAndroidExample.android.js +0 -94
  1210. package/RNTester/js/examples/ProgressViewIOS/ProgressViewIOSExample.js +0 -103
  1211. package/RNTester/js/examples/PushNotificationIOS/PushNotificationIOSExample.js +0 -267
  1212. package/RNTester/js/examples/RCTRootView/RCTRootViewIOSExample.js +0 -95
  1213. package/RNTester/js/examples/RTL/RTLExample.js +0 -747
  1214. package/RNTester/js/examples/RefreshControl/RefreshControlExample.js +0 -127
  1215. package/RNTester/js/examples/RootViewSizeFlexibilityExample/RootViewSizeFlexibilityExampleApp.js +0 -68
  1216. package/RNTester/js/examples/SafeAreaView/SafeAreaViewExample.js +0 -137
  1217. package/RNTester/js/examples/ScrollView/ScrollViewAnimatedExample.js +0 -107
  1218. package/RNTester/js/examples/ScrollView/ScrollViewExample.js +0 -346
  1219. package/RNTester/js/examples/ScrollView/ScrollViewSimpleExample.js +0 -105
  1220. package/RNTester/js/examples/SectionList/SectionListExample.js +0 -301
  1221. package/RNTester/js/examples/SegmentedControlIOS/SegmentedControlIOSExample.js +0 -183
  1222. package/RNTester/js/examples/SetPropertiesExample/SetPropertiesExampleApp.js +0 -34
  1223. package/RNTester/js/examples/Share/ShareExample.js +0 -124
  1224. package/RNTester/js/examples/Slider/SliderExample.js +0 -136
  1225. package/RNTester/js/examples/Snapshot/SnapshotExample.js +0 -69
  1226. package/RNTester/js/examples/Snapshot/SnapshotViewIOS.android.js +0 -12
  1227. package/RNTester/js/examples/Snapshot/SnapshotViewIOS.ios.js +0 -67
  1228. package/RNTester/js/examples/StatusBar/StatusBarExample.js +0 -522
  1229. package/RNTester/js/examples/Switch/SwitchExample.js +0 -239
  1230. package/RNTester/js/examples/TVEventHandler/TVEventHandlerExample.js +0 -88
  1231. package/RNTester/js/examples/Text/TextExample.android.js +0 -864
  1232. package/RNTester/js/examples/Text/TextExample.ios.js +0 -1153
  1233. package/RNTester/js/examples/TextInput/TextInputExample.android.js +0 -424
  1234. package/RNTester/js/examples/TextInput/TextInputExample.ios.js +0 -710
  1235. package/RNTester/js/examples/TextInput/TextInputSharedExamples.js +0 -618
  1236. package/RNTester/js/examples/Timer/TimerExample.js +0 -373
  1237. package/RNTester/js/examples/ToastAndroid/ToastAndroidExample.android.js +0 -136
  1238. package/RNTester/js/examples/Touchable/TouchableExample.js +0 -664
  1239. package/RNTester/js/examples/Transform/TransformExample.js +0 -336
  1240. package/RNTester/js/examples/TransparentHitTest/TransparentHitTestExample.js +0 -50
  1241. package/RNTester/js/examples/TurboModule/SampleTurboModuleExample.js +0 -190
  1242. package/RNTester/js/examples/TurboModule/TurboModuleExample.js +0 -26
  1243. package/RNTester/js/examples/Vibration/VibrationExample.js +0 -127
  1244. package/RNTester/js/examples/View/ViewExample.js +0 -471
  1245. package/RNTester/js/examples/WebSocket/WebSocketExample.js +0 -356
  1246. package/RNTester/js/examples/WebSocket/http_test_server.js +0 -33
  1247. package/RNTester/js/examples/WebSocket/websocket_test_server.js +0 -46
  1248. package/RNTester/js/examples/XHR/XHRExample.js +0 -62
  1249. package/RNTester/js/examples/XHR/XHRExampleAbortController.js +0 -58
  1250. package/RNTester/js/examples/XHR/XHRExampleBinaryUpload.js +0 -149
  1251. package/RNTester/js/examples/XHR/XHRExampleDownload.js +0 -242
  1252. package/RNTester/js/examples/XHR/XHRExampleFetch.js +0 -133
  1253. package/RNTester/js/examples/XHR/XHRExampleHeaders.js +0 -114
  1254. package/RNTester/js/examples/XHR/XHRExampleOnTimeOut.js +0 -99
  1255. package/RNTester/js/types/RNTesterTypes.js +0 -47
  1256. package/RNTester/js/utils/RNTesterActions.js +0 -53
  1257. package/RNTester/js/utils/RNTesterList.android.js +0 -257
  1258. package/RNTester/js/utils/RNTesterList.ios.js +0 -366
  1259. package/RNTester/js/utils/RNTesterList.win32.js +0 -240
  1260. package/RNTester/js/utils/RNTesterNavigationReducer.js +0 -49
  1261. package/RNTester/js/utils/RNTesterStatePersister.js +0 -86
  1262. package/RNTester/js/utils/URIActionMap.js +0 -48
  1263. package/api-extractor.json +0 -25
  1264. package/demo/DocPagePropsList.d.ts +0 -18
  1265. package/demo/DocPagePropsList.js +0 -7
  1266. package/demo/DocPagePropsList.js.map +0 -1
  1267. package/docs/api/index.md +0 -12
  1268. package/docs/api/react-native-win32.accessibilityactionevent.md +0 -13
  1269. package/docs/api/react-native-win32.accessibilityactioninfo.md +0 -14
  1270. package/docs/api/react-native-win32.accessibilityactionname.md +0 -11
  1271. package/docs/api/react-native-win32.accessibilityannotationinfo.md +0 -16
  1272. package/docs/api/react-native-win32.accessibilitystate.md +0 -14
  1273. package/docs/api/react-native-win32.annotationtype.md +0 -11
  1274. package/docs/api/react-native-win32.ariarole.md +0 -11
  1275. package/docs/api/react-native-win32.basepropswin32.md +0 -17
  1276. package/docs/api/react-native-win32.buttonwin32._constructor_.md +0 -20
  1277. package/docs/api/react-native-win32.buttonwin32.md +0 -27
  1278. package/docs/api/react-native-win32.buttonwin32.render.md +0 -15
  1279. package/docs/api/react-native-win32.buttonwin32omitstyles.md +0 -11
  1280. package/docs/api/react-native-win32.colorgradientwin32.md +0 -15
  1281. package/docs/api/react-native-win32.cursor.md +0 -11
  1282. package/docs/api/react-native-win32.eventphase.md +0 -21
  1283. package/docs/api/react-native-win32.gradientcolorstop.md +0 -16
  1284. package/docs/api/react-native-win32.gradientcolorvaluewin32.md +0 -16
  1285. package/docs/api/react-native-win32.ibuttonwin32props.md +0 -25
  1286. package/docs/api/react-native-win32.ibuttonwin32props.onblur.md +0 -13
  1287. package/docs/api/react-native-win32.ibuttonwin32props.onfocus.md +0 -13
  1288. package/docs/api/react-native-win32.ibuttonwin32props.onmouseenter.md +0 -13
  1289. package/docs/api/react-native-win32.ibuttonwin32props.onmouseleave.md +0 -13
  1290. package/docs/api/react-native-win32.ibuttonwin32props.ontouchend.md +0 -13
  1291. package/docs/api/react-native-win32.ibuttonwin32props.ontouchstart.md +0 -13
  1292. package/docs/api/react-native-win32.ibuttonwin32props.style.md +0 -13
  1293. package/docs/api/react-native-win32.ibuttonwin32style.md +0 -13
  1294. package/docs/api/react-native-win32.ichildasfunction.md +0 -13
  1295. package/docs/api/react-native-win32.idimensions.height.md +0 -11
  1296. package/docs/api/react-native-win32.idimensions.md +0 -21
  1297. package/docs/api/react-native-win32.idimensions.width.md +0 -11
  1298. package/docs/api/react-native-win32.ihandledkeyboardevent.md +0 -11
  1299. package/docs/api/react-native-win32.ikeyboardevent.md +0 -11
  1300. package/docs/api/react-native-win32.inativekeyboardevent.altkey.md +0 -11
  1301. package/docs/api/react-native-win32.inativekeyboardevent.ctrlkey.md +0 -11
  1302. package/docs/api/react-native-win32.inativekeyboardevent.eventphase.md +0 -11
  1303. package/docs/api/react-native-win32.inativekeyboardevent.key.md +0 -11
  1304. package/docs/api/react-native-win32.inativekeyboardevent.md +0 -23
  1305. package/docs/api/react-native-win32.inativekeyboardevent.metakey.md +0 -11
  1306. package/docs/api/react-native-win32.inativekeyboardevent.shiftkey.md +0 -11
  1307. package/docs/api/react-native-win32.ipersonacoinprops.brandiconsource.md +0 -11
  1308. package/docs/api/react-native-win32.ipersonacoinprops.color.md +0 -11
  1309. package/docs/api/react-native-win32.ipersonacoinprops.disabled.md +0 -11
  1310. package/docs/api/react-native-win32.ipersonacoinprops.displayname.md +0 -11
  1311. package/docs/api/react-native-win32.ipersonacoinprops.emailaddress.md +0 -11
  1312. package/docs/api/react-native-win32.ipersonacoinprops.initials.md +0 -11
  1313. package/docs/api/react-native-win32.ipersonacoinprops.md +0 -29
  1314. package/docs/api/react-native-win32.ipersonacoinprops.onerror.md +0 -11
  1315. package/docs/api/react-native-win32.ipersonacoinprops.onload.md +0 -11
  1316. package/docs/api/react-native-win32.ipersonacoinprops.presence.md +0 -11
  1317. package/docs/api/react-native-win32.ipersonacoinprops.size.md +0 -11
  1318. package/docs/api/react-native-win32.ipersonacoinprops.source.md +0 -11
  1319. package/docs/api/react-native-win32.iposition.left.md +0 -11
  1320. package/docs/api/react-native-win32.iposition.md +0 -21
  1321. package/docs/api/react-native-win32.iposition.top.md +0 -11
  1322. package/docs/api/react-native-win32.ipressevent.md +0 -24
  1323. package/docs/api/react-native-win32.ipressinlocation.locationx.md +0 -11
  1324. package/docs/api/react-native-win32.ipressinlocation.locationy.md +0 -11
  1325. package/docs/api/react-native-win32.ipressinlocation.md +0 -23
  1326. package/docs/api/react-native-win32.ipressinlocation.pagex.md +0 -11
  1327. package/docs/api/react-native-win32.ipressinlocation.pagey.md +0 -11
  1328. package/docs/api/react-native-win32.irenderchild.md +0 -13
  1329. package/docs/api/react-native-win32.irenderstyle.md +0 -13
  1330. package/docs/api/react-native-win32.irespondersyntheticevent.md +0 -21
  1331. package/docs/api/react-native-win32.irespondersyntheticevent.touchhistory.md +0 -16
  1332. package/docs/api/react-native-win32.isignal.md +0 -13
  1333. package/docs/api/react-native-win32.istate.md +0 -13
  1334. package/docs/api/react-native-win32.istateconditions.md +0 -15
  1335. package/docs/api/react-native-win32.itextwin32props.md +0 -20
  1336. package/docs/api/react-native-win32.itextwin32props.textstyle.md +0 -25
  1337. package/docs/api/react-native-win32.itextwin32props.tooltip.md +0 -13
  1338. package/docs/api/react-native-win32.itouchablewin32props.children.md +0 -11
  1339. package/docs/api/react-native-win32.itouchablewin32props.disabled.md +0 -11
  1340. package/docs/api/react-native-win32.itouchablewin32props.filterkeys.md +0 -13
  1341. package/docs/api/react-native-win32.itouchablewin32props.md +0 -36
  1342. package/docs/api/react-native-win32.itouchablewin32props.onlongpress.md +0 -11
  1343. package/docs/api/react-native-win32.itouchablewin32props.rejectrespondertermination.md +0 -11
  1344. package/docs/api/react-native-win32.itouchablewin32props.renderstyle.md +0 -11
  1345. package/docs/api/react-native-win32.itouchablewin32props.touchablegethighlightdelayms.md +0 -11
  1346. package/docs/api/react-native-win32.itouchablewin32props.touchablegethitslop.md +0 -11
  1347. package/docs/api/react-native-win32.itouchablewin32props.touchablegetlongpressdelayms.md +0 -11
  1348. package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressoutdelayms.md +0 -11
  1349. package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressrectoffset.md +0 -11
  1350. package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressin.md +0 -11
  1351. package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressout.md +0 -11
  1352. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypress.md +0 -11
  1353. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypressdown.md +0 -11
  1354. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlelongpress.md +0 -11
  1355. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlepress.md +0 -11
  1356. package/docs/api/react-native-win32.itouchablewin32props.touchsounddisabled.md +0 -11
  1357. package/docs/api/react-native-win32.itouchablewin32state.isfocused.md +0 -11
  1358. package/docs/api/react-native-win32.itouchablewin32state.ishovered.md +0 -11
  1359. package/docs/api/react-native-win32.itouchablewin32state.ispressed.md +0 -11
  1360. package/docs/api/react-native-win32.itouchablewin32state.md +0 -20
  1361. package/docs/api/react-native-win32.itouchinfo.currentpagex.md +0 -11
  1362. package/docs/api/react-native-win32.itouchinfo.currentpagey.md +0 -11
  1363. package/docs/api/react-native-win32.itouchinfo.currenttimestamp.md +0 -11
  1364. package/docs/api/react-native-win32.itouchinfo.md +0 -29
  1365. package/docs/api/react-native-win32.itouchinfo.previouspagex.md +0 -11
  1366. package/docs/api/react-native-win32.itouchinfo.previouspagey.md +0 -11
  1367. package/docs/api/react-native-win32.itouchinfo.previoustimestamp.md +0 -11
  1368. package/docs/api/react-native-win32.itouchinfo.startpagex.md +0 -11
  1369. package/docs/api/react-native-win32.itouchinfo.startpagey.md +0 -11
  1370. package/docs/api/react-native-win32.itouchinfo.starttimestamp.md +0 -11
  1371. package/docs/api/react-native-win32.itouchinfo.touchactive.md +0 -11
  1372. package/docs/api/react-native-win32.itransitions.md +0 -15
  1373. package/docs/api/react-native-win32.iviewwin32.focus.md +0 -11
  1374. package/docs/api/react-native-win32.iviewwin32.md +0 -18
  1375. package/docs/api/react-native-win32.iviewwin32props.acceptskeyboardfocus.md +0 -16
  1376. package/docs/api/react-native-win32.iviewwin32props.accessibilityactions.md +0 -11
  1377. package/docs/api/react-native-win32.iviewwin32props.accessibilityannotation.md +0 -15
  1378. package/docs/api/react-native-win32.iviewwin32props.accessibilitylevel.md +0 -11
  1379. package/docs/api/react-native-win32.iviewwin32props.accessibilitypositioninset.md +0 -11
  1380. package/docs/api/react-native-win32.iviewwin32props.accessibilitysetsize.md +0 -11
  1381. package/docs/api/react-native-win32.iviewwin32props.animationclass.md +0 -11
  1382. package/docs/api/react-native-win32.iviewwin32props.children.md +0 -11
  1383. package/docs/api/react-native-win32.iviewwin32props.cursor.md +0 -11
  1384. package/docs/api/react-native-win32.iviewwin32props.focusable.md +0 -11
  1385. package/docs/api/react-native-win32.iviewwin32props.keydownevents.md +0 -11
  1386. package/docs/api/react-native-win32.iviewwin32props.keyupevents.md +0 -11
  1387. package/docs/api/react-native-win32.iviewwin32props.md +0 -44
  1388. package/docs/api/react-native-win32.iviewwin32props.onblur.md +0 -15
  1389. package/docs/api/react-native-win32.iviewwin32props.onblurcapture.md +0 -15
  1390. package/docs/api/react-native-win32.iviewwin32props.onfocus.md +0 -15
  1391. package/docs/api/react-native-win32.iviewwin32props.onfocuscapture.md +0 -15
  1392. package/docs/api/react-native-win32.iviewwin32props.onkeydown.md +0 -11
  1393. package/docs/api/react-native-win32.iviewwin32props.onkeydowncapture.md +0 -11
  1394. package/docs/api/react-native-win32.iviewwin32props.onkeyup.md +0 -11
  1395. package/docs/api/react-native-win32.iviewwin32props.onkeyupcapture.md +0 -11
  1396. package/docs/api/react-native-win32.iviewwin32props.onmouseenter.md +0 -11
  1397. package/docs/api/react-native-win32.iviewwin32props.onmouseleave.md +0 -11
  1398. package/docs/api/react-native-win32.iviewwin32props.tooltip.md +0 -13
  1399. package/docs/api/react-native-win32.iviewwin32props.type.md +0 -11
  1400. package/docs/api/react-native-win32.md +0 -85
  1401. package/docs/api/react-native-win32.omittedaccessibilitypropswin32.md +0 -15
  1402. package/docs/api/react-native-win32.personacoin.md +0 -11
  1403. package/docs/api/react-native-win32.personacoinpresence.md +0 -25
  1404. package/docs/api/react-native-win32.personacoinsize.md +0 -23
  1405. package/docs/api/react-native-win32.sharedaccessibilitypropsiosandwin32.md +0 -13
  1406. package/docs/api/react-native-win32.textstyle.md +0 -13
  1407. package/docs/api/react-native-win32.textwin32._constructor_.md +0 -20
  1408. package/docs/api/react-native-win32.textwin32.md +0 -25
  1409. package/docs/api/react-native-win32.textwin32.render.md +0 -15
  1410. package/docs/api/react-native-win32.textwin32omittypes.md +0 -11
  1411. package/docs/api/react-native-win32.touchablewin32._constructor_.md +0 -20
  1412. package/docs/api/react-native-win32.touchablewin32.componentwillunmount.md +0 -15
  1413. package/docs/api/react-native-win32.touchablewin32.focus.md +0 -11
  1414. package/docs/api/react-native-win32.touchablewin32.md +0 -34
  1415. package/docs/api/react-native-win32.touchablewin32.render.md +0 -15
  1416. package/docs/api/react-native-win32.usefrom.md +0 -13
  1417. package/docs/api/react-native-win32.viewwin32.md +0 -11
  1418. package/docs/api/react-native-win32.viewwin32omittypes.md +0 -11
  1419. package/etc/react-native-win32.api.md +0 -481
  1420. package/flow/Promise.js +0 -47
  1421. package/flow/fbjs.js +0 -258
  1422. package/flow/use-subscription.js +0 -19
  1423. package/jest/preprocessor.js +0 -120
  1424. package/typings-index.d.ts +0 -20
  1425. package/typings-index.js +0 -40
@@ -0,0 +1,1093 @@
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
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ import type {HostInstance} from '../Renderer/shims/ReactNativeTypes';
12
+ import type {
13
+ BlurEvent,
14
+ FocusEvent,
15
+ KeyEvent,
16
+ MouseEvent,
17
+ PressEvent,
18
+ } from '../Types/CoreEventTypes';
19
+
20
+ import SoundManager from '../Components/Sound/SoundManager';
21
+ import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
22
+ import UIManager from '../ReactNative/UIManager';
23
+ import {type RectOrSize, normalizeRect} from '../StyleSheet/Rect';
24
+ import {type PointerEvent} from '../Types/CoreEventTypes';
25
+ import Platform from '../Utilities/Platform';
26
+ import {isHoverEnabled} from './HoverState';
27
+ import PressabilityPerformanceEventEmitter from './PressabilityPerformanceEventEmitter.js';
28
+ import {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js';
29
+ import invariant from 'invariant';
30
+
31
+ export type PressabilityConfig = $ReadOnly<{|
32
+ /**
33
+ * Whether a press gesture can be interrupted by a parent gesture such as a
34
+ * scroll event. Defaults to true.
35
+ */
36
+ cancelable?: ?boolean,
37
+
38
+ /**
39
+ * Whether to disable initialization of the press gesture.
40
+ */
41
+ disabled?: ?boolean,
42
+
43
+ /**
44
+ * Amount to extend the `VisualRect` by to create `HitRect`.
45
+ */
46
+ hitSlop?: ?RectOrSize,
47
+
48
+ /**
49
+ * Amount to extend the `HitRect` by to create `PressRect`.
50
+ */
51
+ pressRectOffset?: ?RectOrSize,
52
+
53
+ /**
54
+ * Whether to disable the system sound when `onPress` fires on Android.
55
+ **/
56
+ android_disableSound?: ?boolean,
57
+
58
+ /**
59
+ * Duration to wait after hover in before calling `onHoverIn`.
60
+ */
61
+ delayHoverIn?: ?number,
62
+
63
+ /**
64
+ * Duration to wait after hover out before calling `onHoverOut`.
65
+ */
66
+ delayHoverOut?: ?number,
67
+
68
+ /**
69
+ * Duration (in addition to `delayPressIn`) after which a press gesture is
70
+ * considered a long press gesture. Defaults to 500 (milliseconds).
71
+ */
72
+ delayLongPress?: ?number,
73
+
74
+ /**
75
+ * Duration to wait after press down before calling `onPressIn`.
76
+ */
77
+ delayPressIn?: ?number,
78
+
79
+ /**
80
+ * Duration to wait after letting up before calling `onPressOut`.
81
+ */
82
+ delayPressOut?: ?number,
83
+
84
+ /**
85
+ * Minimum duration to wait between calling `onPressIn` and `onPressOut`.
86
+ */
87
+ minPressDuration?: ?number,
88
+
89
+ /**
90
+ * Called after the element loses focus.
91
+ */
92
+ onBlur?: ?(event: BlurEvent) => mixed,
93
+
94
+ /**
95
+ * Called after the element is focused.
96
+ */
97
+ onFocus?: ?(event: FocusEvent) => mixed,
98
+
99
+ /*
100
+ * Called after a key down event is detected.
101
+ */
102
+ onKeyDown?: ?(event: KeyEvent) => mixed,
103
+
104
+ /*
105
+ * Called after a key up event is detected.
106
+ */
107
+ onKeyUp?: ?(event: KeyEvent) => mixed,
108
+
109
+ /**
110
+ * Called when the hover is activated to provide visual feedback.
111
+ */
112
+ onHoverIn?: ?(event: MouseEvent) => mixed,
113
+
114
+ /**
115
+ * Called when the hover is deactivated to undo visual feedback.
116
+ */
117
+ onHoverOut?: ?(event: MouseEvent) => mixed,
118
+
119
+ /**
120
+ * Called when a long press gesture has been triggered.
121
+ */
122
+ onLongPress?: ?(event: PressEvent) => mixed,
123
+
124
+ /**
125
+ * Called when a press gesture has been triggered.
126
+ */
127
+ onPress?: ?(event: PressEvent) => mixed,
128
+
129
+ /**
130
+ * Called when the press is activated to provide visual feedback.
131
+ */
132
+ onPressIn?: ?(event: PressEvent) => mixed,
133
+
134
+ /**
135
+ * Called when the press location moves. (This should rarely be used.)
136
+ */
137
+ onPressMove?: ?(event: PressEvent) => mixed,
138
+
139
+ /**
140
+ * Called when the press is deactivated to undo visual feedback.
141
+ */
142
+ onPressOut?: ?(event: PressEvent) => mixed,
143
+
144
+ /**
145
+ * Whether to prevent any other native components from becoming responder
146
+ * while this pressable is responder.
147
+ */
148
+ blockNativeResponder?: ?boolean,
149
+
150
+ // [Windows
151
+ /**
152
+ * Raw handler for onMouseEnter that will be preferred if set over hover
153
+ * events. This is to preserve compatibility with pre-0.62 behavior which
154
+ * allowed attaching mouse event handlers to Touchables
155
+ */
156
+ onMouseEnter?: ?(event: MouseEvent) => mixed,
157
+
158
+ /**
159
+ * Raw handler for onMouseLeave that will be preferred if set over hover
160
+ * events. This is to preserve compatibility with pre-0.62 behavior which
161
+ * allowed attaching mouse event handlers to Touchables
162
+ */
163
+ onMouseLeave?: ?(event: MouseEvent) => mixed,
164
+ // Windows]
165
+ |}>;
166
+
167
+ export type EventHandlers = $ReadOnly<{|
168
+ onBlur: (event: BlurEvent) => void,
169
+ onClick: (event: PressEvent) => void,
170
+ onFocus: (event: FocusEvent) => void,
171
+ onMouseEnter?: (event: MouseEvent) => void,
172
+ onMouseLeave?: (event: MouseEvent) => void,
173
+ onPointerEnter?: (event: PointerEvent) => void,
174
+ onPointerLeave?: (event: PointerEvent) => void,
175
+ onResponderGrant: (event: PressEvent) => void | boolean,
176
+ onResponderMove: (event: PressEvent) => void,
177
+ onResponderRelease: (event: PressEvent) => void,
178
+ onResponderTerminate: (event: PressEvent) => void,
179
+ onResponderTerminationRequest: () => boolean,
180
+ onStartShouldSetResponder: () => boolean,
181
+ // [Windows
182
+ onKeyUp: (event: KeyEvent) => void,
183
+ onKeyDown: (event: KeyEvent) => void,
184
+ // Windows]
185
+ |}>;
186
+
187
+ type TouchState =
188
+ | 'NOT_RESPONDER'
189
+ | 'RESPONDER_INACTIVE_PRESS_IN'
190
+ | 'RESPONDER_INACTIVE_PRESS_OUT'
191
+ | 'RESPONDER_ACTIVE_PRESS_IN'
192
+ | 'RESPONDER_ACTIVE_PRESS_OUT'
193
+ | 'RESPONDER_ACTIVE_LONG_PRESS_IN'
194
+ | 'RESPONDER_ACTIVE_LONG_PRESS_OUT'
195
+ | 'ERROR';
196
+
197
+ const Transitions = Object.freeze({
198
+ NOT_RESPONDER: {
199
+ DELAY: 'ERROR',
200
+ RESPONDER_GRANT: 'RESPONDER_INACTIVE_PRESS_IN',
201
+ RESPONDER_RELEASE: 'ERROR',
202
+ RESPONDER_TERMINATED: 'ERROR',
203
+ ENTER_PRESS_RECT: 'ERROR',
204
+ LEAVE_PRESS_RECT: 'ERROR',
205
+ LONG_PRESS_DETECTED: 'ERROR',
206
+ },
207
+ RESPONDER_INACTIVE_PRESS_IN: {
208
+ DELAY: 'RESPONDER_ACTIVE_PRESS_IN',
209
+ RESPONDER_GRANT: 'ERROR',
210
+ RESPONDER_RELEASE: 'NOT_RESPONDER',
211
+ RESPONDER_TERMINATED: 'NOT_RESPONDER',
212
+ ENTER_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_IN',
213
+ LEAVE_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_OUT',
214
+ LONG_PRESS_DETECTED: 'ERROR',
215
+ },
216
+ RESPONDER_INACTIVE_PRESS_OUT: {
217
+ DELAY: 'RESPONDER_ACTIVE_PRESS_OUT',
218
+ RESPONDER_GRANT: 'ERROR',
219
+ RESPONDER_RELEASE: 'NOT_RESPONDER',
220
+ RESPONDER_TERMINATED: 'NOT_RESPONDER',
221
+ ENTER_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_IN',
222
+ LEAVE_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_OUT',
223
+ LONG_PRESS_DETECTED: 'ERROR',
224
+ },
225
+ RESPONDER_ACTIVE_PRESS_IN: {
226
+ DELAY: 'ERROR',
227
+ RESPONDER_GRANT: 'ERROR',
228
+ RESPONDER_RELEASE: 'NOT_RESPONDER',
229
+ RESPONDER_TERMINATED: 'NOT_RESPONDER',
230
+ ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_IN',
231
+ LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_OUT',
232
+ LONG_PRESS_DETECTED: 'RESPONDER_ACTIVE_LONG_PRESS_IN',
233
+ },
234
+ RESPONDER_ACTIVE_PRESS_OUT: {
235
+ DELAY: 'ERROR',
236
+ RESPONDER_GRANT: 'ERROR',
237
+ RESPONDER_RELEASE: 'NOT_RESPONDER',
238
+ RESPONDER_TERMINATED: 'NOT_RESPONDER',
239
+ ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_IN',
240
+ LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_OUT',
241
+ LONG_PRESS_DETECTED: 'ERROR',
242
+ },
243
+ RESPONDER_ACTIVE_LONG_PRESS_IN: {
244
+ DELAY: 'ERROR',
245
+ RESPONDER_GRANT: 'ERROR',
246
+ RESPONDER_RELEASE: 'NOT_RESPONDER',
247
+ RESPONDER_TERMINATED: 'NOT_RESPONDER',
248
+ ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_IN',
249
+ LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',
250
+ LONG_PRESS_DETECTED: 'RESPONDER_ACTIVE_LONG_PRESS_IN',
251
+ },
252
+ RESPONDER_ACTIVE_LONG_PRESS_OUT: {
253
+ DELAY: 'ERROR',
254
+ RESPONDER_GRANT: 'ERROR',
255
+ RESPONDER_RELEASE: 'NOT_RESPONDER',
256
+ RESPONDER_TERMINATED: 'NOT_RESPONDER',
257
+ ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_IN',
258
+ LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',
259
+ LONG_PRESS_DETECTED: 'ERROR',
260
+ },
261
+ ERROR: {
262
+ DELAY: 'NOT_RESPONDER',
263
+ RESPONDER_GRANT: 'RESPONDER_INACTIVE_PRESS_IN',
264
+ RESPONDER_RELEASE: 'NOT_RESPONDER',
265
+ RESPONDER_TERMINATED: 'NOT_RESPONDER',
266
+ ENTER_PRESS_RECT: 'NOT_RESPONDER',
267
+ LEAVE_PRESS_RECT: 'NOT_RESPONDER',
268
+ LONG_PRESS_DETECTED: 'NOT_RESPONDER',
269
+ },
270
+ });
271
+
272
+ const isActiveSignal = (signal: TouchState) =>
273
+ signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
274
+ signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
275
+
276
+ const isActivationSignal = (signal: TouchState) =>
277
+ signal === 'RESPONDER_ACTIVE_PRESS_OUT' ||
278
+ signal === 'RESPONDER_ACTIVE_PRESS_IN';
279
+
280
+ const isPressInSignal = (signal: TouchState) =>
281
+ signal === 'RESPONDER_INACTIVE_PRESS_IN' ||
282
+ signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
283
+ signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
284
+
285
+ const isTerminalSignal = (signal: TouchSignal) =>
286
+ signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE';
287
+
288
+ const DEFAULT_LONG_PRESS_DELAY_MS = 500;
289
+ const DEFAULT_PRESS_RECT_OFFSETS = {
290
+ bottom: 30,
291
+ left: 20,
292
+ right: 20,
293
+ top: 20,
294
+ };
295
+ const DEFAULT_MIN_PRESS_DURATION = 130;
296
+
297
+ const DEFAULT_LONG_PRESS_DEACTIVATION_DISTANCE = 10;
298
+ let longPressDeactivationDistance = DEFAULT_LONG_PRESS_DEACTIVATION_DISTANCE;
299
+
300
+ /**
301
+ * Pressability implements press handling capabilities.
302
+ *
303
+ * =========================== Pressability Tutorial ===========================
304
+ *
305
+ * The `Pressability` class helps you create press interactions by analyzing the
306
+ * geometry of elements and observing when another responder (e.g. ScrollView)
307
+ * has stolen the touch lock. It offers hooks for your component to provide
308
+ * interaction feedback to the user:
309
+ *
310
+ * - When a press has activated (e.g. highlight an element)
311
+ * - When a press has deactivated (e.g. un-highlight an element)
312
+ * - When a press should trigger an action, meaning it activated and deactivated
313
+ * while within the geometry of the element without the lock being stolen.
314
+ *
315
+ * A high quality interaction isn't as simple as you might think. There should
316
+ * be a slight delay before activation. Moving your finger beyond an element's
317
+ * bounds should trigger deactivation, but moving the same finger back within an
318
+ * element's bounds should trigger reactivation.
319
+ *
320
+ * This should be consumed by functional components using `usePressability`. The
321
+ * following steps are only relevant for using `Pressability` in classes:
322
+ *
323
+ * 1. Instantiate `Pressability` and store it on your component's state.
324
+ *
325
+ * state = {
326
+ * pressability: new Pressability({
327
+ * // ...
328
+ * }),
329
+ * };
330
+ *
331
+ * 2. Choose the rendered component who should collect the press events. On that
332
+ * element, spread `pressability.getEventHandlers()` into its props.
333
+ *
334
+ * return (
335
+ * <View {...this.state.pressability.getEventHandlers()} />
336
+ * );
337
+ *
338
+ * 3. Update `Pressability` when your component mounts, updates, and unmounts.
339
+ *
340
+ * componentDidMount() {
341
+ * this.state.pressability.configure(...);
342
+ * }
343
+ *
344
+ * componentDidUpdate() {
345
+ * this.state.pressability.configure(...);
346
+ * }
347
+ *
348
+ * componentWillUnmount() {
349
+ * this.state.pressability.reset();
350
+ * }
351
+ *
352
+ * ==================== Pressability Implementation Details ====================
353
+ *
354
+ * `Pressability` only assumes that there exists a `HitRect` node. The `PressRect`
355
+ * is an abstract box that is extended beyond the `HitRect`.
356
+ *
357
+ * # Geometry
358
+ *
359
+ * ┌────────────────────────┐
360
+ * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`, which
361
+ * │ │ ┌────────────┐ │ │ is expanded via the prop `hitSlop`.
362
+ * │ │ │ VisualRect │ │ │
363
+ * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time
364
+ * │ │ HitRect │ │ before letting up, `VisualRect` activates for
365
+ * │ └──────────────────┘ │ as long as the press stays within `PressRect`.
366
+ * │ PressRect o │
367
+ * └────────────────────│───┘
368
+ * Out Region └────── `PressRect`, which is expanded via the prop
369
+ * `pressRectOffset`, allows presses to move
370
+ * beyond `HitRect` while maintaining activation
371
+ * and being eligible for a "press".
372
+ *
373
+ * # State Machine
374
+ *
375
+ * ┌───────────────┐ ◀──── RESPONDER_RELEASE
376
+ * │ NOT_RESPONDER │
377
+ * └───┬───────────┘ ◀──── RESPONDER_TERMINATED
378
+ * │
379
+ * │ RESPONDER_GRANT (HitRect)
380
+ * │
381
+ * ▼
382
+ * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐
383
+ * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │
384
+ * │ PRESS_IN ├────────▶ │ PRESS_IN ├────────────▶ │ LONG_PRESS_IN │
385
+ * └─┬───────────────────┘ └─┬─────────────────┘ └─┬─────────────────┘
386
+ * │ ▲ │ ▲ │ ▲
387
+ * │LEAVE_ │ │LEAVE_ │ │LEAVE_ │
388
+ * │PRESS_RECT │ENTER_ │PRESS_RECT │ENTER_ │PRESS_RECT │ENTER_
389
+ * │ │PRESS_RECT │ │PRESS_RECT │ │PRESS_RECT
390
+ * ▼ │ ▼ │ ▼ │
391
+ * ┌─────────────┴───────┐ ┌─────────────┴─────┐ ┌─────────────┴─────┐
392
+ * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ │ RESPONDER_ACTIVE_ │
393
+ * │ PRESS_OUT ├────────▶ │ PRESS_OUT │ │ LONG_PRESS_OUT │
394
+ * └─────────────────────┘ └───────────────────┘ └───────────────────┘
395
+ *
396
+ * T + DELAY => LONG_PRESS_DELAY + DELAY
397
+ *
398
+ * Not drawn are the side effects of each transition. The most important side
399
+ * effect is the invocation of `onPress` and `onLongPress` that occur when a
400
+ * responder is release while in the "press in" states.
401
+ */
402
+ export default class Pressability {
403
+ _config: PressabilityConfig;
404
+ _eventHandlers: ?EventHandlers = null;
405
+ _hoverInDelayTimeout: ?TimeoutID = null;
406
+ _hoverOutDelayTimeout: ?TimeoutID = null;
407
+ _isHovered: boolean = false;
408
+ _longPressDelayTimeout: ?TimeoutID = null;
409
+ _pressDelayTimeout: ?TimeoutID = null;
410
+ _pressOutDelayTimeout: ?TimeoutID = null;
411
+ _responderID: ?number | HostInstance = null;
412
+ _responderRegion: ?$ReadOnly<{|
413
+ bottom: number,
414
+ left: number,
415
+ right: number,
416
+ top: number,
417
+ |}> = null;
418
+ _touchActivatePosition: ?$ReadOnly<{|
419
+ pageX: number,
420
+ pageY: number,
421
+ |}>;
422
+ _touchActivateTime: ?number;
423
+ _touchState: TouchState = 'NOT_RESPONDER';
424
+ _isKeyDown: boolean = false;
425
+
426
+ constructor(config: PressabilityConfig) {
427
+ this.configure(config);
428
+ }
429
+
430
+ configure(config: PressabilityConfig): void {
431
+ this._config = config;
432
+ }
433
+
434
+ /**
435
+ * Resets any pending timers. This should be called on unmount.
436
+ */
437
+ reset(): void {
438
+ this._cancelHoverInDelayTimeout();
439
+ this._cancelHoverOutDelayTimeout();
440
+ this._cancelLongPressDelayTimeout();
441
+ this._cancelPressDelayTimeout();
442
+ this._cancelPressOutDelayTimeout();
443
+
444
+ // Ensure that, if any async event handlers are fired after unmount
445
+ // due to a race, we don't call any configured callbacks.
446
+ this._config = Object.freeze({});
447
+ }
448
+
449
+ /**
450
+ * Returns a set of props to spread into the interactive element.
451
+ */
452
+ getEventHandlers(): EventHandlers {
453
+ if (this._eventHandlers == null) {
454
+ this._eventHandlers = this._createEventHandlers();
455
+ }
456
+ return this._eventHandlers;
457
+ }
458
+
459
+ static setLongPressDeactivationDistance(distance: number): void {
460
+ longPressDeactivationDistance = distance;
461
+ }
462
+
463
+ _createEventHandlers(): EventHandlers {
464
+ const focusEventHandlers = {
465
+ onBlur: (event: BlurEvent): void => {
466
+ const {onBlur} = this._config;
467
+ if (onBlur != null) {
468
+ onBlur(event);
469
+ }
470
+ this._isKeyDown = false;
471
+ },
472
+ onFocus: (event: FocusEvent): void => {
473
+ const {onFocus} = this._config;
474
+ if (onFocus != null) {
475
+ onFocus(event);
476
+ }
477
+ },
478
+ };
479
+
480
+ const responderEventHandlers = {
481
+ onStartShouldSetResponder: (): boolean => {
482
+ const {disabled} = this._config;
483
+ return !disabled ?? true;
484
+ },
485
+
486
+ onResponderGrant: (event: PressEvent): void | boolean => {
487
+ event.persist();
488
+
489
+ this._cancelPressOutDelayTimeout();
490
+
491
+ this._responderID = event.currentTarget;
492
+ this._touchState = 'NOT_RESPONDER';
493
+ this._receiveSignal('RESPONDER_GRANT', event);
494
+
495
+ const delayPressIn = normalizeDelay(this._config.delayPressIn);
496
+ if (delayPressIn > 0) {
497
+ this._pressDelayTimeout = setTimeout(() => {
498
+ this._receiveSignal('DELAY', event);
499
+ }, delayPressIn);
500
+ } else {
501
+ this._receiveSignal('DELAY', event);
502
+ }
503
+
504
+ const delayLongPress = normalizeDelay(
505
+ this._config.delayLongPress,
506
+ 10,
507
+ DEFAULT_LONG_PRESS_DELAY_MS - delayPressIn,
508
+ );
509
+ this._longPressDelayTimeout = setTimeout(() => {
510
+ this._handleLongPress(event);
511
+ }, delayLongPress + delayPressIn);
512
+
513
+ return this._config.blockNativeResponder === true;
514
+ },
515
+
516
+ onResponderMove: (event: PressEvent): void => {
517
+ const {onPressMove} = this._config;
518
+ if (onPressMove != null) {
519
+ onPressMove(event);
520
+ }
521
+
522
+ // Region may not have finished being measured, yet.
523
+ const responderRegion = this._responderRegion;
524
+ if (responderRegion == null) {
525
+ return;
526
+ }
527
+
528
+ const touch = getTouchFromPressEvent(event);
529
+ if (touch == null) {
530
+ this._cancelLongPressDelayTimeout();
531
+ this._receiveSignal('LEAVE_PRESS_RECT', event);
532
+ return;
533
+ }
534
+
535
+ if (this._touchActivatePosition != null) {
536
+ const deltaX = this._touchActivatePosition.pageX - touch.pageX;
537
+ const deltaY = this._touchActivatePosition.pageY - touch.pageY;
538
+ if (Math.hypot(deltaX, deltaY) > longPressDeactivationDistance) {
539
+ this._cancelLongPressDelayTimeout();
540
+ }
541
+ }
542
+
543
+ if (this._isTouchWithinResponderRegion(touch, responderRegion)) {
544
+ this._receiveSignal('ENTER_PRESS_RECT', event);
545
+ } else {
546
+ this._cancelLongPressDelayTimeout();
547
+ this._receiveSignal('LEAVE_PRESS_RECT', event);
548
+ }
549
+ },
550
+
551
+ onResponderRelease: (event: PressEvent): void => {
552
+ this._receiveSignal('RESPONDER_RELEASE', event);
553
+ },
554
+
555
+ onResponderTerminate: (event: PressEvent): void => {
556
+ this._receiveSignal('RESPONDER_TERMINATED', event);
557
+ },
558
+
559
+ onResponderTerminationRequest: (): boolean => {
560
+ const {cancelable} = this._config;
561
+ return cancelable ?? true;
562
+ },
563
+
564
+ onClick: (event: PressEvent): void => {
565
+ // If event has `pointerType`, it was emitted from a PointerEvent and
566
+ // we should ignore it to avoid triggering `onPress` twice.
567
+ if (event?.nativeEvent?.hasOwnProperty?.('pointerType')) {
568
+ return;
569
+ }
570
+
571
+ // for non-pointer click events (e.g. accessibility clicks), we should only dispatch when we're the "real" target
572
+ // in particular, we shouldn't respond to clicks from nested pressables
573
+ if (event?.currentTarget !== event?.target) {
574
+ event?.stopPropagation();
575
+ return;
576
+ }
577
+
578
+ const {onPress, disabled} = this._config;
579
+ if (onPress != null && disabled !== true) {
580
+ onPress(event);
581
+ }
582
+ },
583
+ };
584
+
585
+ if (process.env.NODE_ENV === 'test') {
586
+ // We are setting this in order to find this node in ReactNativeTestTools
587
+ // $FlowFixMe[prop-missing]
588
+ responderEventHandlers.onStartShouldSetResponder.testOnly_pressabilityConfig =
589
+ () => this._config;
590
+ }
591
+
592
+ // [Windows
593
+ const keyboardEventHandlers = {
594
+ onKeyUp: (event: KeyEvent): void => {
595
+ const {onKeyUp} = this._config;
596
+ onKeyUp && onKeyUp(event);
597
+
598
+ if (
599
+ (event.nativeEvent.code === 'Space' ||
600
+ event.nativeEvent.code === 'Enter' ||
601
+ event.nativeEvent.code === 'GamepadA') &&
602
+ event.defaultPrevented !== true &&
603
+ this._isKeyDown
604
+ ) {
605
+ const {onPressOut, onPress} = this._config;
606
+ // $FlowFixMe: PressEvents don't mesh with keyboarding APIs. Keep legacy behavior of passing KeyEvents instead
607
+ onPressOut && onPressOut(event);
608
+ // $FlowFixMe: PressEvents don't mesh with keyboarding APIs. Keep legacy behavior of passing KeyEvents instead
609
+ onPress && onPress(event);
610
+ }
611
+ // Native windows app clears the key pressed state when another key press interrupts the current
612
+ this._isKeyDown = false;
613
+ },
614
+ onKeyDown: (event: KeyEvent): void => {
615
+ const {onKeyDown} = this._config;
616
+ onKeyDown && onKeyDown(event);
617
+
618
+ if (
619
+ (event.nativeEvent.code === 'Space' ||
620
+ event.nativeEvent.code === 'Enter' ||
621
+ event.nativeEvent.code === 'GamepadA') &&
622
+ event.defaultPrevented !== true
623
+ ) {
624
+ const {onPressIn} = this._config;
625
+ this._isKeyDown = true;
626
+ // $FlowFixMe: PressEvents don't mesh with keyboarding APIs. Keep legacy behavior of passing KeyEvents instead
627
+ onPressIn && onPressIn(event);
628
+ }
629
+ },
630
+ };
631
+ // Windows]
632
+
633
+ if (
634
+ ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover()
635
+ ) {
636
+ const hoverPointerEvents = {
637
+ onPointerEnter: (undefined: void | (PointerEvent => void)),
638
+ onPointerLeave: (undefined: void | (PointerEvent => void)),
639
+ };
640
+ const {onHoverIn, onHoverOut} = this._config;
641
+ if (onHoverIn != null) {
642
+ hoverPointerEvents.onPointerEnter = (event: PointerEvent) => {
643
+ this._isHovered = true;
644
+ this._cancelHoverOutDelayTimeout();
645
+ if (onHoverIn != null) {
646
+ const delayHoverIn = normalizeDelay(this._config.delayHoverIn);
647
+ if (delayHoverIn > 0) {
648
+ event.persist();
649
+ this._hoverInDelayTimeout = setTimeout(() => {
650
+ onHoverIn(convertPointerEventToMouseEvent(event));
651
+ }, delayHoverIn);
652
+ } else {
653
+ onHoverIn(convertPointerEventToMouseEvent(event));
654
+ }
655
+ }
656
+ };
657
+ }
658
+ if (onHoverOut != null) {
659
+ hoverPointerEvents.onPointerLeave = (event: PointerEvent) => {
660
+ if (this._isHovered) {
661
+ this._isHovered = false;
662
+ this._cancelHoverInDelayTimeout();
663
+ if (onHoverOut != null) {
664
+ const delayHoverOut = normalizeDelay(this._config.delayHoverOut);
665
+ if (delayHoverOut > 0) {
666
+ event.persist();
667
+ this._hoverOutDelayTimeout = setTimeout(() => {
668
+ onHoverOut(convertPointerEventToMouseEvent(event));
669
+ }, delayHoverOut);
670
+ } else {
671
+ onHoverOut(convertPointerEventToMouseEvent(event));
672
+ }
673
+ }
674
+ }
675
+ };
676
+ }
677
+ return {
678
+ ...focusEventHandlers,
679
+ ...responderEventHandlers,
680
+ ...hoverPointerEvents,
681
+ ...keyboardEventHandlers, // [Windows]
682
+ };
683
+ } else {
684
+ const mouseEventHandlers =
685
+ Platform.OS === 'ios' || Platform.OS === 'android'
686
+ ? null
687
+ : {
688
+ onMouseEnter: (event: MouseEvent): void => {
689
+ // [Windows Add attached raw mouse event handler for compat
690
+ if (this._config.onMouseEnter) {
691
+ this._config.onMouseEnter(event);
692
+ }
693
+ // Windows]
694
+
695
+ if (isHoverEnabled()) {
696
+ this._isHovered = true;
697
+ this._cancelHoverOutDelayTimeout();
698
+ const {onHoverIn} = this._config;
699
+ if (onHoverIn != null) {
700
+ const delayHoverIn = normalizeDelay(
701
+ this._config.delayHoverIn,
702
+ );
703
+ if (delayHoverIn > 0) {
704
+ event.persist();
705
+ this._hoverInDelayTimeout = setTimeout(() => {
706
+ onHoverIn(event);
707
+ }, delayHoverIn);
708
+ } else {
709
+ onHoverIn(event);
710
+ }
711
+ }
712
+ }
713
+ },
714
+
715
+ onMouseLeave: (event: MouseEvent): void => {
716
+ // [Windows Add attached raw mouse event handler for compat
717
+ if (this._config.onMouseLeave) {
718
+ this._config.onMouseLeave(event);
719
+ }
720
+ // Windows]
721
+
722
+ if (this._isHovered) {
723
+ this._isHovered = false;
724
+ this._cancelHoverInDelayTimeout();
725
+ const {onHoverOut} = this._config;
726
+ if (onHoverOut != null) {
727
+ const delayHoverOut = normalizeDelay(
728
+ this._config.delayHoverOut,
729
+ );
730
+ if (delayHoverOut > 0) {
731
+ event.persist();
732
+ this._hoverInDelayTimeout = setTimeout(() => {
733
+ onHoverOut(event);
734
+ }, delayHoverOut);
735
+ } else {
736
+ onHoverOut(event);
737
+ }
738
+ }
739
+ }
740
+ },
741
+ };
742
+
743
+ return {
744
+ ...focusEventHandlers,
745
+ ...responderEventHandlers,
746
+ ...mouseEventHandlers,
747
+ ...keyboardEventHandlers, // [Windows]
748
+ };
749
+ }
750
+ }
751
+
752
+ /**
753
+ * Receives a state machine signal, performs side effects of the transition
754
+ * and stores the new state. Validates the transition as well.
755
+ */
756
+ _receiveSignal(signal: TouchSignal, event: PressEvent): void {
757
+ // Especially on iOS, not all events have timestamps associated.
758
+ // For telemetry purposes, this doesn't matter too much, as long as *some* do.
759
+ // Since the native timestamp is integral for logging telemetry, just skip
760
+ // events if they don't have a timestamp attached.
761
+ if (event.nativeEvent.timestamp != null) {
762
+ PressabilityPerformanceEventEmitter.emitEvent(() => {
763
+ return {
764
+ signal,
765
+ nativeTimestamp: event.nativeEvent.timestamp,
766
+ };
767
+ });
768
+ }
769
+
770
+ const prevState = this._touchState;
771
+ const nextState = Transitions[prevState]?.[signal];
772
+ if (this._responderID == null && signal === 'RESPONDER_RELEASE') {
773
+ return;
774
+ }
775
+ invariant(
776
+ nextState != null && nextState !== 'ERROR',
777
+ 'Pressability: Invalid signal `%s` for state `%s` on responder: %s',
778
+ signal,
779
+ prevState,
780
+ typeof this._responderID === 'number'
781
+ ? this._responderID
782
+ : '<<host component>>',
783
+ );
784
+ if (prevState !== nextState) {
785
+ this._performTransitionSideEffects(prevState, nextState, signal, event);
786
+ this._touchState = nextState;
787
+ }
788
+ }
789
+
790
+ // [Win32]
791
+ // $FlowFixMe - button typing
792
+ _isDefaultPressButton(button): boolean {
793
+ return !button; // Treat 0 or undefined as default press
794
+ }
795
+
796
+ /**
797
+ * Performs a transition between touchable states and identify any activations
798
+ * or deactivations (and callback invocations).
799
+ */
800
+ _performTransitionSideEffects(
801
+ prevState: TouchState,
802
+ nextState: TouchState,
803
+ signal: TouchSignal,
804
+ event: PressEvent,
805
+ ): void {
806
+ if (isTerminalSignal(signal)) {
807
+ this._touchActivatePosition = null;
808
+ this._cancelLongPressDelayTimeout();
809
+ }
810
+
811
+ const isInitialTransition =
812
+ prevState === 'NOT_RESPONDER' &&
813
+ nextState === 'RESPONDER_INACTIVE_PRESS_IN';
814
+
815
+ const isActivationTransition =
816
+ !isActivationSignal(prevState) && isActivationSignal(nextState);
817
+
818
+ if (isInitialTransition || isActivationTransition) {
819
+ this._measureResponderRegion();
820
+ }
821
+
822
+ if (isPressInSignal(prevState) && signal === 'LONG_PRESS_DETECTED') {
823
+ const {onLongPress} = this._config;
824
+ if (
825
+ onLongPress != null &&
826
+ this._isDefaultPressButton(getTouchFromPressEvent(event).button)
827
+ ) {
828
+ onLongPress(event);
829
+ }
830
+ }
831
+
832
+ const isPrevActive = isActiveSignal(prevState);
833
+ const isNextActive = isActiveSignal(nextState);
834
+
835
+ if (!isPrevActive && isNextActive) {
836
+ this._activate(event);
837
+ } else if (isPrevActive && !isNextActive) {
838
+ this._deactivate(event);
839
+ }
840
+
841
+ if (isPressInSignal(prevState) && signal === 'RESPONDER_RELEASE') {
842
+ // If we never activated (due to delays), activate and deactivate now.
843
+ if (!isNextActive && !isPrevActive) {
844
+ this._activate(event);
845
+ this._deactivate(event);
846
+ }
847
+ const {onLongPress, onPress, android_disableSound} = this._config;
848
+
849
+ if (
850
+ onPress != null &&
851
+ this._isDefaultPressButton(getTouchFromPressEvent(event).button)
852
+ ) {
853
+ const isPressCanceledByLongPress =
854
+ onLongPress != null && prevState === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
855
+ if (!isPressCanceledByLongPress) {
856
+ if (Platform.OS === 'android' && android_disableSound !== true) {
857
+ SoundManager.playTouchSound();
858
+ }
859
+ onPress(event);
860
+ }
861
+ }
862
+ }
863
+
864
+ this._cancelPressDelayTimeout();
865
+ }
866
+
867
+ _activate(event: PressEvent): void {
868
+ const {onPressIn} = this._config;
869
+ const {pageX, pageY, button} = getTouchFromPressEvent(event);
870
+ this._touchActivatePosition = {pageX, pageY};
871
+ this._touchActivateTime = Date.now();
872
+ if (onPressIn != null && this._isDefaultPressButton(button)) {
873
+ onPressIn(event);
874
+ }
875
+ }
876
+
877
+ _deactivate(event: PressEvent): void {
878
+ const {onPressOut} = this._config;
879
+ if (
880
+ onPressOut != null &&
881
+ this._isDefaultPressButton(getTouchFromPressEvent(event).button)
882
+ ) {
883
+ const minPressDuration = normalizeDelay(
884
+ this._config.minPressDuration,
885
+ 0,
886
+ DEFAULT_MIN_PRESS_DURATION,
887
+ );
888
+ const pressDuration = Date.now() - (this._touchActivateTime ?? 0);
889
+ const delayPressOut = Math.max(
890
+ minPressDuration - pressDuration,
891
+ normalizeDelay(this._config.delayPressOut),
892
+ );
893
+ if (delayPressOut > 0) {
894
+ event.persist();
895
+ this._pressOutDelayTimeout = setTimeout(() => {
896
+ onPressOut(event);
897
+ }, delayPressOut);
898
+ } else {
899
+ onPressOut(event);
900
+ }
901
+ }
902
+ this._touchActivateTime = null;
903
+ }
904
+
905
+ _measureResponderRegion(): void {
906
+ if (this._responderID == null) {
907
+ return;
908
+ }
909
+
910
+ if (typeof this._responderID === 'number') {
911
+ UIManager.measure(this._responderID, this._measureCallback);
912
+ } else {
913
+ this._responderID.measure(this._measureCallback);
914
+ }
915
+ }
916
+
917
+ _measureCallback = (
918
+ left: number,
919
+ top: number,
920
+ width: number,
921
+ height: number,
922
+ pageX: number,
923
+ pageY: number,
924
+ ) => {
925
+ if (!left && !top && !width && !height && !pageX && !pageY) {
926
+ return;
927
+ }
928
+ this._responderRegion = {
929
+ bottom: pageY + height,
930
+ left: pageX,
931
+ right: pageX + width,
932
+ top: pageY,
933
+ };
934
+ };
935
+
936
+ _isTouchWithinResponderRegion(
937
+ touch: $PropertyType<PressEvent, 'nativeEvent'>,
938
+ responderRegion: $ReadOnly<{|
939
+ bottom: number,
940
+ left: number,
941
+ right: number,
942
+ top: number,
943
+ |}>,
944
+ ): boolean {
945
+ const hitSlop = normalizeRect(this._config.hitSlop);
946
+ const pressRectOffset = normalizeRect(this._config.pressRectOffset);
947
+
948
+ let regionBottom = responderRegion.bottom;
949
+ let regionLeft = responderRegion.left;
950
+ let regionRight = responderRegion.right;
951
+ let regionTop = responderRegion.top;
952
+
953
+ if (hitSlop != null) {
954
+ if (hitSlop.bottom != null) {
955
+ regionBottom += hitSlop.bottom;
956
+ }
957
+ if (hitSlop.left != null) {
958
+ regionLeft -= hitSlop.left;
959
+ }
960
+ if (hitSlop.right != null) {
961
+ regionRight += hitSlop.right;
962
+ }
963
+ if (hitSlop.top != null) {
964
+ regionTop -= hitSlop.top;
965
+ }
966
+ }
967
+
968
+ regionBottom +=
969
+ pressRectOffset?.bottom ?? DEFAULT_PRESS_RECT_OFFSETS.bottom;
970
+ regionLeft -= pressRectOffset?.left ?? DEFAULT_PRESS_RECT_OFFSETS.left;
971
+ regionRight += pressRectOffset?.right ?? DEFAULT_PRESS_RECT_OFFSETS.right;
972
+ regionTop -= pressRectOffset?.top ?? DEFAULT_PRESS_RECT_OFFSETS.top;
973
+
974
+ return (
975
+ touch.pageX > regionLeft &&
976
+ touch.pageX < regionRight &&
977
+ touch.pageY > regionTop &&
978
+ touch.pageY < regionBottom
979
+ );
980
+ }
981
+
982
+ _handleLongPress(event: PressEvent): void {
983
+ if (
984
+ this._touchState === 'RESPONDER_ACTIVE_PRESS_IN' ||
985
+ this._touchState === 'RESPONDER_ACTIVE_LONG_PRESS_IN'
986
+ ) {
987
+ this._receiveSignal('LONG_PRESS_DETECTED', event);
988
+ }
989
+ }
990
+
991
+ _cancelHoverInDelayTimeout(): void {
992
+ if (this._hoverInDelayTimeout != null) {
993
+ clearTimeout(this._hoverInDelayTimeout);
994
+ this._hoverInDelayTimeout = null;
995
+ }
996
+ }
997
+
998
+ _cancelHoverOutDelayTimeout(): void {
999
+ if (this._hoverOutDelayTimeout != null) {
1000
+ clearTimeout(this._hoverOutDelayTimeout);
1001
+ this._hoverOutDelayTimeout = null;
1002
+ }
1003
+ }
1004
+
1005
+ _cancelLongPressDelayTimeout(): void {
1006
+ if (this._longPressDelayTimeout != null) {
1007
+ clearTimeout(this._longPressDelayTimeout);
1008
+ this._longPressDelayTimeout = null;
1009
+ }
1010
+ }
1011
+
1012
+ _cancelPressDelayTimeout(): void {
1013
+ if (this._pressDelayTimeout != null) {
1014
+ clearTimeout(this._pressDelayTimeout);
1015
+ this._pressDelayTimeout = null;
1016
+ }
1017
+ }
1018
+
1019
+ _cancelPressOutDelayTimeout(): void {
1020
+ if (this._pressOutDelayTimeout != null) {
1021
+ clearTimeout(this._pressOutDelayTimeout);
1022
+ this._pressOutDelayTimeout = null;
1023
+ }
1024
+ }
1025
+ }
1026
+
1027
+ function normalizeDelay(
1028
+ delay: ?number,
1029
+ min: number = 0,
1030
+ fallback: number = 0,
1031
+ ): number {
1032
+ return Math.max(min, delay ?? fallback);
1033
+ }
1034
+
1035
+ const getTouchFromPressEvent = (event: PressEvent) => {
1036
+ const {changedTouches, touches} = event.nativeEvent;
1037
+
1038
+ if (touches != null && touches.length > 0) {
1039
+ return touches[0];
1040
+ }
1041
+ if (changedTouches != null && changedTouches.length > 0) {
1042
+ return changedTouches[0];
1043
+ }
1044
+ return event.nativeEvent;
1045
+ };
1046
+
1047
+ function convertPointerEventToMouseEvent(input: PointerEvent): MouseEvent {
1048
+ const {clientX, clientY} = input.nativeEvent;
1049
+ // [Windows
1050
+ const {
1051
+ pointerType,
1052
+ pressure,
1053
+ isLeftButton,
1054
+ isRightButton,
1055
+ isMiddleButton,
1056
+ isBarrelButtonPressed,
1057
+ isHorizontalScrollWheel,
1058
+ isEraser,
1059
+ shiftKey,
1060
+ ctrlKey,
1061
+ altKey,
1062
+ } = input.nativeEvent;
1063
+ // Windows]
1064
+ return {
1065
+ ...input,
1066
+ nativeEvent: {
1067
+ clientX,
1068
+ clientY,
1069
+ pageX: clientX,
1070
+ pageY: clientY,
1071
+ timestamp: input.timeStamp,
1072
+ // [Windows
1073
+ target:
1074
+ input.nativeEvent.target ??
1075
+ (typeof input.target === 'number' ? input.target : -1),
1076
+ identifier: input.nativeEvent.pointerId,
1077
+ locationX: clientX,
1078
+ locationY: clientY,
1079
+ pointerType,
1080
+ force: pressure,
1081
+ isLeftButton,
1082
+ isRightButton,
1083
+ isMiddleButton,
1084
+ isBarrelButtonPressed,
1085
+ isHorizontalScrollWheel,
1086
+ isEraser,
1087
+ shiftKey,
1088
+ ctrlKey,
1089
+ altKey,
1090
+ // Windows]
1091
+ },
1092
+ };
1093
+ }