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

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 (1422) hide show
  1. package/.eslintignore +5 -2
  2. package/.eslintrc.js +27 -2
  3. package/.flowconfig +76 -37
  4. package/CHANGELOG.json +5748 -1
  5. package/CHANGELOG.md +2293 -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 +70 -0
  57. package/Libraries/Animated/nodes/AnimatedColor.js +323 -0
  58. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +79 -0
  59. package/Libraries/Animated/nodes/AnimatedDivision.js +86 -0
  60. package/Libraries/Animated/nodes/AnimatedInterpolation.js +419 -0
  61. package/Libraries/Animated/nodes/AnimatedModulo.js +65 -0
  62. package/Libraries/Animated/nodes/AnimatedMultiplication.js +69 -0
  63. package/Libraries/Animated/nodes/AnimatedNode.js +225 -0
  64. package/Libraries/Animated/nodes/AnimatedObject.js +168 -0
  65. package/Libraries/Animated/nodes/AnimatedProps.js +284 -0
  66. package/Libraries/Animated/nodes/AnimatedStyle.js +254 -0
  67. package/Libraries/Animated/nodes/AnimatedSubtraction.js +70 -0
  68. package/Libraries/Animated/nodes/AnimatedTracking.js +103 -0
  69. package/Libraries/Animated/nodes/AnimatedTransform.js +201 -0
  70. package/Libraries/Animated/nodes/AnimatedValue.js +306 -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 +389 -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 +4 -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 +168 -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 +1007 -0
  191. package/Libraries/Components/TextInput/TextInput.flow.js +1109 -0
  192. package/Libraries/Components/TextInput/TextInput.js +1154 -459
  193. package/Libraries/Components/TextInput/TextInput.win32.js +2037 -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 +65 -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 +2 -2
  341. package/Libraries/Inspector/BoxInspector.js +4 -5
  342. package/Libraries/Inspector/ElementBox.js +15 -10
  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 +3 -3
  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 +3 -8
  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 +321 -249
  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 +390 -0
  741. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +109 -0
  742. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +81 -0
  743. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  744. package/src/private/renderer/errorhandling/ErrorHandlers.js +126 -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/NativeClipboard.js +21 -0
  774. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  775. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  776. package/src/private/specs/modules/NativeDevSettings.js +34 -0
  777. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  778. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  779. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  780. package/src/private/specs/modules/NativeExceptionsManager.js +91 -0
  781. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  782. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  783. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  784. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  785. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  786. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  787. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  788. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  789. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  790. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  791. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  792. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  793. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  794. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  795. package/src/private/specs/modules/NativeLogBox.js +20 -0
  796. package/src/private/specs/modules/NativeModalManager.js +21 -0
  797. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  798. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  799. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  800. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  801. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  802. package/src/private/specs/modules/NativePlatformConstantsWin.js +44 -0
  803. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
  804. package/src/private/specs/modules/NativeReactDevToolsSettingsManager.js +22 -0
  805. package/src/private/specs/modules/NativeRedBox.js +20 -0
  806. package/src/private/specs/modules/NativeSampleTurboModule.js +66 -0
  807. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  808. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  809. package/src/private/specs/modules/NativeShareModule.js +23 -0
  810. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  811. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  812. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  813. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  814. package/src/private/specs/modules/NativeTiming.js +26 -0
  815. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  816. package/src/private/specs/modules/NativeUIManager.js +111 -0
  817. package/src/private/specs/modules/NativeVibration.js +24 -0
  818. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  819. package/src/private/styles/composeStyles.js +27 -0
  820. package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
  821. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
  822. package/src/private/webapis/dom/nodes/ReactNativeElement.js +230 -0
  823. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +71 -0
  824. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
  825. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +361 -0
  826. package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
  827. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  828. package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
  829. package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
  830. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
  831. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
  832. package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
  833. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
  834. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +345 -0
  835. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +167 -0
  836. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +277 -0
  837. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +43 -0
  838. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
  839. package/src/private/webapis/mutationobserver/MutationObserver.js +186 -0
  840. package/src/private/webapis/mutationobserver/MutationObserverManager.js +227 -0
  841. package/src/private/webapis/mutationobserver/MutationRecord.js +82 -0
  842. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +58 -0
  843. package/src/private/webapis/performance/EventTiming.js +145 -0
  844. package/src/private/webapis/performance/LongTasks.js +39 -0
  845. package/src/private/webapis/performance/MemoryInfo.js +54 -0
  846. package/src/private/webapis/performance/Performance.js +287 -0
  847. package/src/private/webapis/performance/PerformanceEntry.js +68 -0
  848. package/src/private/webapis/performance/PerformanceObserver.js +232 -0
  849. package/src/private/webapis/performance/RawPerformanceEntry.js +105 -0
  850. package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
  851. package/src/private/webapis/performance/UserTiming.js +72 -0
  852. package/src/private/webapis/performance/Utilities.js +18 -0
  853. package/src/private/webapis/performance/specs/NativePerformance.js +92 -0
  854. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  855. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +177 -0
  856. package/src-win/Libraries/Components/Button/ButtonWin32.Props.ts +45 -0
  857. package/src-win/Libraries/Components/Button/ButtonWin32.tsx +94 -0
  858. package/src-win/Libraries/Components/EnterString.win32.tsx +110 -0
  859. package/src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx +185 -0
  860. package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +502 -0
  861. package/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
  862. package/src-win/Libraries/Components/Touchable/TouchableWin32.Props.tsx +46 -0
  863. package/src-win/Libraries/Components/Touchable/TouchableWin32.Types.tsx +137 -0
  864. package/src-win/Libraries/Components/Touchable/TouchableWin32.tsx +624 -0
  865. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +566 -0
  866. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
  867. package/src-win/Libraries/Components/View/ViewWin32.d.ts +30 -0
  868. package/src-win/Libraries/Image/ImageTypes.ts +27 -0
  869. package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +22 -0
  870. package/src-win/Libraries/Image/Tests/img/dpitest.png +0 -0
  871. package/src-win/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  872. package/src-win/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  873. package/src-win/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  874. package/src-win/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  875. package/src-win/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  876. package/src-win/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  877. package/src-win/Libraries/PersonaCoin/PersonaCoin.tsx +13 -0
  878. package/src-win/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +17 -0
  879. package/src-win/Libraries/PersonaCoin/PersonaCoinTypes.ts +36 -0
  880. package/src-win/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +38 -0
  881. package/src-win/Libraries/Text/Text.d.ts +309 -0
  882. package/src-win/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
  883. package/src-win/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
  884. package/src-win/Libraries/platform-types.d.ts +25 -0
  885. package/types/index.d.ts +219 -0
  886. package/types/modules/BatchedBridge.d.ts +32 -0
  887. package/types/modules/Codegen.d.ts +80 -0
  888. package/types/modules/Devtools.d.ts +32 -0
  889. package/types/modules/LaunchScreen.d.ts +18 -0
  890. package/types/modules/globals.d.ts +599 -0
  891. package/types/private/TimerMixin.d.ts +19 -0
  892. package/types/private/Utilities.d.ts +10 -0
  893. package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
  894. package/types/public/Insets.d.ts +15 -0
  895. package/types/public/ReactNativeRenderer.d.ts +144 -0
  896. package/types/public/ReactNativeTypes.d.ts +139 -0
  897. package/IntegrationTests/AsyncStorageTest.js +0 -217
  898. package/IntegrationTests/PropertiesUpdateTest.js +0 -29
  899. package/IntegrationTests/RCTRootViewIntegrationTestApp.js +0 -92
  900. package/IntegrationTests/ReactContentSizeUpdateTest.js +0 -91
  901. package/IntegrationTests/SizeFlexibilityUpdateTest.js +0 -108
  902. package/IntegrationTests/launchWebSocketServer.command +0 -18
  903. package/Libraries/Animated/examples/demo.html +0 -712
  904. package/Libraries/Animated/examples/pic1.jpg +0 -0
  905. package/Libraries/Animated/examples/pic2.jpg +0 -0
  906. package/Libraries/Animated/examples/pic3.jpg +0 -0
  907. package/Libraries/Animated/release/gulpfile.js +0 -155
  908. package/Libraries/Animated/src/Animated.js +0 -49
  909. package/Libraries/Animated/src/AnimatedEvent.js +0 -233
  910. package/Libraries/Animated/src/AnimatedImplementation.js +0 -712
  911. package/Libraries/Animated/src/AnimatedMock.js +0 -156
  912. package/Libraries/Animated/src/AnimatedWeb.js +0 -23
  913. package/Libraries/Animated/src/Easing.js +0 -252
  914. package/Libraries/Animated/src/NativeAnimatedHelper.js +0 -342
  915. package/Libraries/Animated/src/NativeAnimatedModule.js +0 -66
  916. package/Libraries/Animated/src/SpringConfig.js +0 -103
  917. package/Libraries/Animated/src/animations/Animation.js +0 -73
  918. package/Libraries/Animated/src/animations/DecayAnimation.js +0 -120
  919. package/Libraries/Animated/src/animations/SpringAnimation.js +0 -359
  920. package/Libraries/Animated/src/animations/TimingAnimation.js +0 -165
  921. package/Libraries/Animated/src/bezier.js +0 -153
  922. package/Libraries/Animated/src/components/AnimatedFlatList.js +0 -32
  923. package/Libraries/Animated/src/components/AnimatedImage.js +0 -25
  924. package/Libraries/Animated/src/components/AnimatedScrollView.js +0 -32
  925. package/Libraries/Animated/src/components/AnimatedSectionList.js +0 -32
  926. package/Libraries/Animated/src/components/AnimatedText.js +0 -25
  927. package/Libraries/Animated/src/components/AnimatedView.js +0 -23
  928. package/Libraries/Animated/src/createAnimatedComponent.js +0 -223
  929. package/Libraries/Animated/src/nodes/AnimatedAddition.js +0 -63
  930. package/Libraries/Animated/src/nodes/AnimatedDiffClamp.js +0 -71
  931. package/Libraries/Animated/src/nodes/AnimatedDivision.js +0 -68
  932. package/Libraries/Animated/src/nodes/AnimatedInterpolation.js +0 -373
  933. package/Libraries/Animated/src/nodes/AnimatedModulo.js +0 -62
  934. package/Libraries/Animated/src/nodes/AnimatedMultiplication.js +0 -63
  935. package/Libraries/Animated/src/nodes/AnimatedNode.js +0 -184
  936. package/Libraries/Animated/src/nodes/AnimatedProps.js +0 -176
  937. package/Libraries/Animated/src/nodes/AnimatedStyle.js +0 -127
  938. package/Libraries/Animated/src/nodes/AnimatedSubtraction.js +0 -63
  939. package/Libraries/Animated/src/nodes/AnimatedTracking.js +0 -102
  940. package/Libraries/Animated/src/nodes/AnimatedTransform.js +0 -121
  941. package/Libraries/Animated/src/nodes/AnimatedValue.js +0 -265
  942. package/Libraries/Animated/src/nodes/AnimatedValueXY.js +0 -226
  943. package/Libraries/Animated/src/nodes/AnimatedWithChildren.js +0 -87
  944. package/Libraries/Animated/src/polyfills/InteractionManager.js +0 -15
  945. package/Libraries/Animated/src/polyfills/Set.js +0 -26
  946. package/Libraries/Animated/src/polyfills/flattenStyle.js +0 -13
  947. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -162
  948. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -271
  949. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.win32.js +0 -33
  950. package/Libraries/Components/AppleTV/NativeTVNavigationEventEmitter.js +0 -23
  951. package/Libraries/Components/AppleTV/TVEventHandler.js +0 -52
  952. package/Libraries/Components/CheckBox/AndroidCheckBoxNativeComponent.js +0 -74
  953. package/Libraries/Components/CheckBox/CheckBox.android.js +0 -228
  954. package/Libraries/Components/CheckBox/CheckBox.ios.js +0 -13
  955. package/Libraries/Components/CheckBox/CheckBox.win32.js +0 -12
  956. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -46
  957. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -189
  958. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -46
  959. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  960. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -89
  961. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  962. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.win32.js +0 -30
  963. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  964. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -22
  965. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +0 -12
  966. package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +0 -13
  967. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  968. package/Libraries/Components/MaskedView/MaskedViewIOS.win32.js +0 -13
  969. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  970. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -68
  971. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -68
  972. package/Libraries/Components/Picker/Picker.js +0 -159
  973. package/Libraries/Components/Picker/Picker.win32.d.ts +0 -1
  974. package/Libraries/Components/Picker/Picker.win32.js +0 -80
  975. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -146
  976. package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
  977. package/Libraries/Components/Picker/PickerAndroid.js +0 -12
  978. package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
  979. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
  980. package/Libraries/Components/Picker/PickerIOS.js +0 -14
  981. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -63
  982. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +0 -12
  983. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -46
  984. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -77
  985. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -8
  986. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -35
  987. package/Libraries/Components/ScrollResponder.js +0 -773
  988. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -77
  989. package/Libraries/Components/ScrollView/__mocks__/ScrollViewMock.js +0 -39
  990. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -46
  991. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -46
  992. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  993. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.js +0 -46
  994. package/Libraries/Components/Slider/Slider.js +0 -276
  995. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -60
  996. package/Libraries/Components/StaticContainer.react.js +0 -51
  997. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -22
  998. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -26
  999. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  1000. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  1001. package/Libraries/Components/Text/TextWin32.js +0 -41
  1002. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -84
  1003. package/Libraries/Components/TextInput/RCTSinglelineTextInputViewConfig.js +0 -134
  1004. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +0 -51
  1005. package/Libraries/Components/TextInput/TextInput.Types.win32.js +0 -3
  1006. package/Libraries/Components/TextInput/TextInput.win32.d.ts +0 -68
  1007. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +0 -39
  1008. package/Libraries/Components/Touchable/TVTouchable.js +0 -55
  1009. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.d.ts +0 -7
  1010. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.js +0 -3
  1011. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.d.ts +0 -16
  1012. package/Libraries/Components/Touchable/__mocks__/ensureComponentIsNative.js +0 -12
  1013. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
  1014. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -347
  1015. package/Libraries/Components/View/ReactNativeViewViewConfig.win32.js +0 -384
  1016. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -74
  1017. package/Libraries/Components/View/Tests/ViewWin32Test.d.ts +0 -8
  1018. package/Libraries/Components/View/Tests/ViewWin32Test.js +0 -235
  1019. package/Libraries/Components/View/ViewWin32.Props.d.ts +0 -149
  1020. package/Libraries/Components/View/ViewWin32.Props.js +0 -11
  1021. package/Libraries/Core/setUpSystrace.js +0 -21
  1022. package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
  1023. package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
  1024. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.js +0 -82
  1025. package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
  1026. package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
  1027. package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
  1028. package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
  1029. package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
  1030. package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
  1031. package/Libraries/DeprecatedPropTypes/DeprecatedTVViewPropTypes.js +0 -23
  1032. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
  1033. package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
  1034. package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
  1035. package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
  1036. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -44
  1037. package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
  1038. package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
  1039. package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
  1040. package/Libraries/HeapCapture/HeapCapture.js +0 -31
  1041. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -20
  1042. package/Libraries/Image/ImagePickerIOS.js +0 -105
  1043. package/Libraries/Image/ImageViewViewConfig.js +0 -68
  1044. package/Libraries/Image/NativeImagePickerIOS.js +0 -40
  1045. package/Libraries/Image/assetPathUtils.js +0 -91
  1046. package/Libraries/Interaction/Batchinator.js +0 -76
  1047. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -62
  1048. package/Libraries/Interaction/InteractionMixin.js +0 -55
  1049. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  1050. package/Libraries/Linking/NativeLinking.js +0 -41
  1051. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -21
  1052. package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -20
  1053. package/Libraries/Performance/PureComponentDebug.js +0 -73
  1054. package/Libraries/Performance/QuickPerformanceLogger.js +0 -101
  1055. package/Libraries/Performance/SamplingProfiler.js +0 -39
  1056. package/Libraries/ReactNative/DummyUIManager.js +0 -123
  1057. package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
  1058. package/Libraries/ReactNative/RootTagContext.js +0 -15
  1059. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  1060. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -20493
  1061. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -7440
  1062. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -7718
  1063. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -21091
  1064. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -7677
  1065. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -7955
  1066. package/Libraries/Renderer/shims/ReactTypes.js +0 -192
  1067. package/Libraries/Settings/Settings.android.js +0 -33
  1068. package/Libraries/Storage/AsyncStorage.js +0 -360
  1069. package/Libraries/Storage/NativeAsyncStorage.js +0 -44
  1070. package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.android.js +0 -18
  1071. package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.js +0 -17
  1072. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -97
  1073. package/Libraries/StyleSheet/StyleSheetValidation.win32.js +0 -102
  1074. package/Libraries/Utilities/BackHandler.win32.d.ts +0 -2
  1075. package/Libraries/Utilities/JSDevSupportModule.js +0 -40
  1076. package/Libraries/Utilities/LoadingView.android.js +0 -29
  1077. package/Libraries/Utilities/LoadingView.ios.js +0 -40
  1078. package/Libraries/Utilities/LoadingView.js +0 -16
  1079. package/Libraries/Utilities/MatrixMath.js +0 -752
  1080. package/Libraries/Utilities/NativeJSDevSupport.js +0 -25
  1081. package/Libraries/Utilities/buildStyleInterpolator.js +0 -211
  1082. package/Libraries/Utilities/clamp.js +0 -23
  1083. package/Libraries/Utilities/deprecatedPropType.js +0 -38
  1084. package/Libraries/Utilities/groupByEveryN.js +0 -51
  1085. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  1086. package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
  1087. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  1088. package/Libraries/Utilities/truncate.js +0 -51
  1089. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -134
  1090. package/Libraries/polyfills/Object.es7.js +0 -58
  1091. package/Libraries/polyfills/console.js +0 -641
  1092. package/Libraries/polyfills/error-guard.js +0 -115
  1093. package/Libraries/promiseRejectionIsError.js +0 -24
  1094. package/Libraries/vendor/emitter/EmitterSubscription.js +0 -59
  1095. package/Libraries/vendor/emitter/EventSubscription.js +0 -40
  1096. package/Libraries/vendor/emitter/EventSubscriptionVendor.js +0 -101
  1097. package/RNTester/APIExamples/AccessibilityExampleWin32.d.ts +0 -8
  1098. package/RNTester/APIExamples/AccessibilityExampleWin32.js +0 -262
  1099. package/RNTester/APIExamples/ThemingModuleAPI.d.ts +0 -8
  1100. package/RNTester/APIExamples/ThemingModuleAPI.js +0 -80
  1101. package/RNTester/js/RNTesterApp.android.js +0 -363
  1102. package/RNTester/js/RNTesterApp.ios.js +0 -272
  1103. package/RNTester/js/RNTesterApp.win32.js +0 -285
  1104. package/RNTester/js/assets/bandaged.png +0 -0
  1105. package/RNTester/js/assets/bunny.png +0 -0
  1106. package/RNTester/js/assets/call.png +0 -0
  1107. package/RNTester/js/assets/dislike.png +0 -0
  1108. package/RNTester/js/assets/fist.png +0 -0
  1109. package/RNTester/js/assets/flowers.png +0 -0
  1110. package/RNTester/js/assets/flux@3x.png +0 -0
  1111. package/RNTester/js/assets/hawk.png +0 -0
  1112. package/RNTester/js/assets/heart.png +0 -0
  1113. package/RNTester/js/assets/helloworld.html +0 -25
  1114. package/RNTester/js/assets/imageMask.png +0 -0
  1115. package/RNTester/js/assets/like.png +0 -0
  1116. package/RNTester/js/assets/liking.png +0 -0
  1117. package/RNTester/js/assets/messagingtest.html +0 -28
  1118. package/RNTester/js/assets/party.png +0 -0
  1119. package/RNTester/js/assets/poke.png +0 -0
  1120. package/RNTester/js/assets/relay@3x.png +0 -0
  1121. package/RNTester/js/assets/slider-left.png +0 -0
  1122. package/RNTester/js/assets/slider-left@2x.png +0 -0
  1123. package/RNTester/js/assets/slider-right.png +0 -0
  1124. package/RNTester/js/assets/slider-right@2x.png +0 -0
  1125. package/RNTester/js/assets/slider.png +0 -0
  1126. package/RNTester/js/assets/slider@2x.png +0 -0
  1127. package/RNTester/js/assets/superlike.png +0 -0
  1128. package/RNTester/js/assets/trees.jpg +0 -0
  1129. package/RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif +0 -0
  1130. package/RNTester/js/assets/uie_comment_highlighted@2x.png +0 -0
  1131. package/RNTester/js/assets/uie_comment_normal@2x.png +0 -0
  1132. package/RNTester/js/assets/uie_thumb_big.png +0 -0
  1133. package/RNTester/js/assets/uie_thumb_normal@2x.png +0 -0
  1134. package/RNTester/js/assets/uie_thumb_selected@2x.png +0 -0
  1135. package/RNTester/js/assets/victory.png +0 -0
  1136. package/RNTester/js/components/ListExampleShared.js +0 -377
  1137. package/RNTester/js/components/ListExampleShared.win32.js +0 -384
  1138. package/RNTester/js/components/RNTesterBlock.js +0 -105
  1139. package/RNTester/js/components/RNTesterButton.js +0 -50
  1140. package/RNTester/js/components/RNTesterExampleContainer.js +0 -80
  1141. package/RNTester/js/components/RNTesterExampleFilter.js +0 -120
  1142. package/RNTester/js/components/RNTesterExampleFilter.win32.js +0 -120
  1143. package/RNTester/js/components/RNTesterExampleList.js +0 -254
  1144. package/RNTester/js/components/RNTesterPage.js +0 -76
  1145. package/RNTester/js/components/RNTesterSettingSwitchRow.js +0 -60
  1146. package/RNTester/js/components/RNTesterTheme.js +0 -90
  1147. package/RNTester/js/components/RNTesterTitle.js +0 -58
  1148. package/RNTester/js/components/TextInlineView.js +0 -207
  1149. package/RNTester/js/components/TextLegend.js +0 -248
  1150. package/RNTester/js/components/createExamplePage.js +0 -31
  1151. package/RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js +0 -177
  1152. package/RNTester/js/examples/Accessibility/AccessibilityExample.js +0 -792
  1153. package/RNTester/js/examples/Accessibility/AccessibilityIOSExample.js +0 -72
  1154. package/RNTester/js/examples/Accessibility/check.png +0 -0
  1155. package/RNTester/js/examples/Accessibility/mixed.png +0 -0
  1156. package/RNTester/js/examples/Accessibility/uncheck.png +0 -0
  1157. package/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +0 -342
  1158. package/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js +0 -162
  1159. package/RNTester/js/examples/Alert/AlertExample.js +0 -158
  1160. package/RNTester/js/examples/Alert/AlertIOSExample.js +0 -204
  1161. package/RNTester/js/examples/Animated/AnimatedExample.js +0 -347
  1162. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExApp.js +0 -407
  1163. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExBobble.js +0 -171
  1164. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExChained.js +0 -120
  1165. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExScroll.js +0 -124
  1166. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExSet.js +0 -149
  1167. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExSlides.md +0 -107
  1168. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExTilt.js +0 -154
  1169. package/RNTester/js/examples/AppState/AppStateExample.js +0 -106
  1170. package/RNTester/js/examples/Appearance/AppearanceExample.js +0 -219
  1171. package/RNTester/js/examples/AsyncStorage/AsyncStorageExample.js +0 -103
  1172. package/RNTester/js/examples/Border/BorderExample.js +0 -301
  1173. package/RNTester/js/examples/BoxShadow/BoxShadowExample.js +0 -100
  1174. package/RNTester/js/examples/Button/ButtonExample.js +0 -127
  1175. package/RNTester/js/examples/CheckBox/CheckBoxExample.js +0 -148
  1176. package/RNTester/js/examples/Clipboard/ClipboardExample.js +0 -68
  1177. package/RNTester/js/examples/ColorGradientWin32Example.js +0 -109
  1178. package/RNTester/js/examples/Crash/CrashExample.js +0 -52
  1179. package/RNTester/js/examples/DatePicker/DatePickerAndroidExample.js +0 -170
  1180. package/RNTester/js/examples/DatePicker/DatePickerIOSExample.js +0 -150
  1181. package/RNTester/js/examples/DevSettings/DevSettingsExample.js +0 -47
  1182. package/RNTester/js/examples/Dimensions/DimensionsExample.js +0 -68
  1183. package/RNTester/js/examples/FlatList/FlatListExample.js +0 -287
  1184. package/RNTester/js/examples/Image/ImageCapInsetsExample.js +0 -68
  1185. package/RNTester/js/examples/Image/ImageExample.js +0 -955
  1186. package/RNTester/js/examples/InputAccessoryView/InputAccessoryViewExample.js +0 -121
  1187. package/RNTester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js +0 -77
  1188. package/RNTester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js +0 -120
  1189. package/RNTester/js/examples/Layout/LayoutAnimationExample.js +0 -221
  1190. package/RNTester/js/examples/Layout/LayoutEventsExample.js +0 -165
  1191. package/RNTester/js/examples/Layout/LayoutExample.js +0 -206
  1192. package/RNTester/js/examples/Linking/LinkingExample.js +0 -128
  1193. package/RNTester/js/examples/MaskedView/MaskedViewExample.js +0 -236
  1194. package/RNTester/js/examples/Modal/ModalExample.js +0 -283
  1195. package/RNTester/js/examples/MultiColumn/MultiColumnExample.js +0 -189
  1196. package/RNTester/js/examples/NativeAnimation/NativeAnimationsExample.js +0 -702
  1197. package/RNTester/js/examples/NewAppScreen/NewAppScreenExample.js +0 -77
  1198. package/RNTester/js/examples/OrientationChange/OrientationChangeExample.js +0 -66
  1199. package/RNTester/js/examples/PanResponder/PanResponderExample.js +0 -154
  1200. package/RNTester/js/examples/PermissionsAndroid/PermissionsExample.js +0 -130
  1201. package/RNTester/js/examples/Picker/PickerExample.js +0 -220
  1202. package/RNTester/js/examples/Picker/PickerIOSExample.js +0 -190
  1203. package/RNTester/js/examples/PlatformColor/PlatformColorExample.js +0 -355
  1204. package/RNTester/js/examples/PointerEvents/PointerEventsExample.js +0 -240
  1205. package/RNTester/js/examples/Pressable/PressableExample.js +0 -426
  1206. package/RNTester/js/examples/ProgressBarAndroid/ProgressBarAndroidExample.android.js +0 -94
  1207. package/RNTester/js/examples/ProgressViewIOS/ProgressViewIOSExample.js +0 -103
  1208. package/RNTester/js/examples/PushNotificationIOS/PushNotificationIOSExample.js +0 -267
  1209. package/RNTester/js/examples/RCTRootView/RCTRootViewIOSExample.js +0 -95
  1210. package/RNTester/js/examples/RTL/RTLExample.js +0 -747
  1211. package/RNTester/js/examples/RefreshControl/RefreshControlExample.js +0 -127
  1212. package/RNTester/js/examples/RootViewSizeFlexibilityExample/RootViewSizeFlexibilityExampleApp.js +0 -68
  1213. package/RNTester/js/examples/SafeAreaView/SafeAreaViewExample.js +0 -137
  1214. package/RNTester/js/examples/ScrollView/ScrollViewAnimatedExample.js +0 -107
  1215. package/RNTester/js/examples/ScrollView/ScrollViewExample.js +0 -346
  1216. package/RNTester/js/examples/ScrollView/ScrollViewSimpleExample.js +0 -105
  1217. package/RNTester/js/examples/SectionList/SectionListExample.js +0 -301
  1218. package/RNTester/js/examples/SegmentedControlIOS/SegmentedControlIOSExample.js +0 -183
  1219. package/RNTester/js/examples/SetPropertiesExample/SetPropertiesExampleApp.js +0 -34
  1220. package/RNTester/js/examples/Share/ShareExample.js +0 -124
  1221. package/RNTester/js/examples/Slider/SliderExample.js +0 -136
  1222. package/RNTester/js/examples/Snapshot/SnapshotExample.js +0 -69
  1223. package/RNTester/js/examples/Snapshot/SnapshotViewIOS.android.js +0 -12
  1224. package/RNTester/js/examples/Snapshot/SnapshotViewIOS.ios.js +0 -67
  1225. package/RNTester/js/examples/StatusBar/StatusBarExample.js +0 -522
  1226. package/RNTester/js/examples/Switch/SwitchExample.js +0 -239
  1227. package/RNTester/js/examples/TVEventHandler/TVEventHandlerExample.js +0 -88
  1228. package/RNTester/js/examples/Text/TextExample.android.js +0 -864
  1229. package/RNTester/js/examples/Text/TextExample.ios.js +0 -1153
  1230. package/RNTester/js/examples/TextInput/TextInputExample.android.js +0 -424
  1231. package/RNTester/js/examples/TextInput/TextInputExample.ios.js +0 -710
  1232. package/RNTester/js/examples/TextInput/TextInputSharedExamples.js +0 -618
  1233. package/RNTester/js/examples/Timer/TimerExample.js +0 -373
  1234. package/RNTester/js/examples/ToastAndroid/ToastAndroidExample.android.js +0 -136
  1235. package/RNTester/js/examples/Touchable/TouchableExample.js +0 -664
  1236. package/RNTester/js/examples/Transform/TransformExample.js +0 -336
  1237. package/RNTester/js/examples/TransparentHitTest/TransparentHitTestExample.js +0 -50
  1238. package/RNTester/js/examples/TurboModule/SampleTurboModuleExample.js +0 -190
  1239. package/RNTester/js/examples/TurboModule/TurboModuleExample.js +0 -26
  1240. package/RNTester/js/examples/Vibration/VibrationExample.js +0 -127
  1241. package/RNTester/js/examples/View/ViewExample.js +0 -471
  1242. package/RNTester/js/examples/WebSocket/WebSocketExample.js +0 -356
  1243. package/RNTester/js/examples/WebSocket/http_test_server.js +0 -33
  1244. package/RNTester/js/examples/WebSocket/websocket_test_server.js +0 -46
  1245. package/RNTester/js/examples/XHR/XHRExample.js +0 -62
  1246. package/RNTester/js/examples/XHR/XHRExampleAbortController.js +0 -58
  1247. package/RNTester/js/examples/XHR/XHRExampleBinaryUpload.js +0 -149
  1248. package/RNTester/js/examples/XHR/XHRExampleDownload.js +0 -242
  1249. package/RNTester/js/examples/XHR/XHRExampleFetch.js +0 -133
  1250. package/RNTester/js/examples/XHR/XHRExampleHeaders.js +0 -114
  1251. package/RNTester/js/examples/XHR/XHRExampleOnTimeOut.js +0 -99
  1252. package/RNTester/js/types/RNTesterTypes.js +0 -47
  1253. package/RNTester/js/utils/RNTesterActions.js +0 -53
  1254. package/RNTester/js/utils/RNTesterList.android.js +0 -257
  1255. package/RNTester/js/utils/RNTesterList.ios.js +0 -366
  1256. package/RNTester/js/utils/RNTesterList.win32.js +0 -240
  1257. package/RNTester/js/utils/RNTesterNavigationReducer.js +0 -49
  1258. package/RNTester/js/utils/RNTesterStatePersister.js +0 -86
  1259. package/RNTester/js/utils/URIActionMap.js +0 -48
  1260. package/api-extractor.json +0 -25
  1261. package/demo/DocPagePropsList.d.ts +0 -18
  1262. package/demo/DocPagePropsList.js +0 -7
  1263. package/demo/DocPagePropsList.js.map +0 -1
  1264. package/docs/api/index.md +0 -12
  1265. package/docs/api/react-native-win32.accessibilityactionevent.md +0 -13
  1266. package/docs/api/react-native-win32.accessibilityactioninfo.md +0 -14
  1267. package/docs/api/react-native-win32.accessibilityactionname.md +0 -11
  1268. package/docs/api/react-native-win32.accessibilityannotationinfo.md +0 -16
  1269. package/docs/api/react-native-win32.accessibilitystate.md +0 -14
  1270. package/docs/api/react-native-win32.annotationtype.md +0 -11
  1271. package/docs/api/react-native-win32.ariarole.md +0 -11
  1272. package/docs/api/react-native-win32.basepropswin32.md +0 -17
  1273. package/docs/api/react-native-win32.buttonwin32._constructor_.md +0 -20
  1274. package/docs/api/react-native-win32.buttonwin32.md +0 -27
  1275. package/docs/api/react-native-win32.buttonwin32.render.md +0 -15
  1276. package/docs/api/react-native-win32.buttonwin32omitstyles.md +0 -11
  1277. package/docs/api/react-native-win32.colorgradientwin32.md +0 -15
  1278. package/docs/api/react-native-win32.cursor.md +0 -11
  1279. package/docs/api/react-native-win32.eventphase.md +0 -21
  1280. package/docs/api/react-native-win32.gradientcolorstop.md +0 -16
  1281. package/docs/api/react-native-win32.gradientcolorvaluewin32.md +0 -16
  1282. package/docs/api/react-native-win32.ibuttonwin32props.md +0 -25
  1283. package/docs/api/react-native-win32.ibuttonwin32props.onblur.md +0 -13
  1284. package/docs/api/react-native-win32.ibuttonwin32props.onfocus.md +0 -13
  1285. package/docs/api/react-native-win32.ibuttonwin32props.onmouseenter.md +0 -13
  1286. package/docs/api/react-native-win32.ibuttonwin32props.onmouseleave.md +0 -13
  1287. package/docs/api/react-native-win32.ibuttonwin32props.ontouchend.md +0 -13
  1288. package/docs/api/react-native-win32.ibuttonwin32props.ontouchstart.md +0 -13
  1289. package/docs/api/react-native-win32.ibuttonwin32props.style.md +0 -13
  1290. package/docs/api/react-native-win32.ibuttonwin32style.md +0 -13
  1291. package/docs/api/react-native-win32.ichildasfunction.md +0 -13
  1292. package/docs/api/react-native-win32.idimensions.height.md +0 -11
  1293. package/docs/api/react-native-win32.idimensions.md +0 -21
  1294. package/docs/api/react-native-win32.idimensions.width.md +0 -11
  1295. package/docs/api/react-native-win32.ihandledkeyboardevent.md +0 -11
  1296. package/docs/api/react-native-win32.ikeyboardevent.md +0 -11
  1297. package/docs/api/react-native-win32.inativekeyboardevent.altkey.md +0 -11
  1298. package/docs/api/react-native-win32.inativekeyboardevent.ctrlkey.md +0 -11
  1299. package/docs/api/react-native-win32.inativekeyboardevent.eventphase.md +0 -11
  1300. package/docs/api/react-native-win32.inativekeyboardevent.key.md +0 -11
  1301. package/docs/api/react-native-win32.inativekeyboardevent.md +0 -23
  1302. package/docs/api/react-native-win32.inativekeyboardevent.metakey.md +0 -11
  1303. package/docs/api/react-native-win32.inativekeyboardevent.shiftkey.md +0 -11
  1304. package/docs/api/react-native-win32.ipersonacoinprops.brandiconsource.md +0 -11
  1305. package/docs/api/react-native-win32.ipersonacoinprops.color.md +0 -11
  1306. package/docs/api/react-native-win32.ipersonacoinprops.disabled.md +0 -11
  1307. package/docs/api/react-native-win32.ipersonacoinprops.displayname.md +0 -11
  1308. package/docs/api/react-native-win32.ipersonacoinprops.emailaddress.md +0 -11
  1309. package/docs/api/react-native-win32.ipersonacoinprops.initials.md +0 -11
  1310. package/docs/api/react-native-win32.ipersonacoinprops.md +0 -29
  1311. package/docs/api/react-native-win32.ipersonacoinprops.onerror.md +0 -11
  1312. package/docs/api/react-native-win32.ipersonacoinprops.onload.md +0 -11
  1313. package/docs/api/react-native-win32.ipersonacoinprops.presence.md +0 -11
  1314. package/docs/api/react-native-win32.ipersonacoinprops.size.md +0 -11
  1315. package/docs/api/react-native-win32.ipersonacoinprops.source.md +0 -11
  1316. package/docs/api/react-native-win32.iposition.left.md +0 -11
  1317. package/docs/api/react-native-win32.iposition.md +0 -21
  1318. package/docs/api/react-native-win32.iposition.top.md +0 -11
  1319. package/docs/api/react-native-win32.ipressevent.md +0 -24
  1320. package/docs/api/react-native-win32.ipressinlocation.locationx.md +0 -11
  1321. package/docs/api/react-native-win32.ipressinlocation.locationy.md +0 -11
  1322. package/docs/api/react-native-win32.ipressinlocation.md +0 -23
  1323. package/docs/api/react-native-win32.ipressinlocation.pagex.md +0 -11
  1324. package/docs/api/react-native-win32.ipressinlocation.pagey.md +0 -11
  1325. package/docs/api/react-native-win32.irenderchild.md +0 -13
  1326. package/docs/api/react-native-win32.irenderstyle.md +0 -13
  1327. package/docs/api/react-native-win32.irespondersyntheticevent.md +0 -21
  1328. package/docs/api/react-native-win32.irespondersyntheticevent.touchhistory.md +0 -16
  1329. package/docs/api/react-native-win32.isignal.md +0 -13
  1330. package/docs/api/react-native-win32.istate.md +0 -13
  1331. package/docs/api/react-native-win32.istateconditions.md +0 -15
  1332. package/docs/api/react-native-win32.itextwin32props.md +0 -20
  1333. package/docs/api/react-native-win32.itextwin32props.textstyle.md +0 -25
  1334. package/docs/api/react-native-win32.itextwin32props.tooltip.md +0 -13
  1335. package/docs/api/react-native-win32.itouchablewin32props.children.md +0 -11
  1336. package/docs/api/react-native-win32.itouchablewin32props.disabled.md +0 -11
  1337. package/docs/api/react-native-win32.itouchablewin32props.filterkeys.md +0 -13
  1338. package/docs/api/react-native-win32.itouchablewin32props.md +0 -36
  1339. package/docs/api/react-native-win32.itouchablewin32props.onlongpress.md +0 -11
  1340. package/docs/api/react-native-win32.itouchablewin32props.rejectrespondertermination.md +0 -11
  1341. package/docs/api/react-native-win32.itouchablewin32props.renderstyle.md +0 -11
  1342. package/docs/api/react-native-win32.itouchablewin32props.touchablegethighlightdelayms.md +0 -11
  1343. package/docs/api/react-native-win32.itouchablewin32props.touchablegethitslop.md +0 -11
  1344. package/docs/api/react-native-win32.itouchablewin32props.touchablegetlongpressdelayms.md +0 -11
  1345. package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressoutdelayms.md +0 -11
  1346. package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressrectoffset.md +0 -11
  1347. package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressin.md +0 -11
  1348. package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressout.md +0 -11
  1349. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypress.md +0 -11
  1350. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypressdown.md +0 -11
  1351. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlelongpress.md +0 -11
  1352. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlepress.md +0 -11
  1353. package/docs/api/react-native-win32.itouchablewin32props.touchsounddisabled.md +0 -11
  1354. package/docs/api/react-native-win32.itouchablewin32state.isfocused.md +0 -11
  1355. package/docs/api/react-native-win32.itouchablewin32state.ishovered.md +0 -11
  1356. package/docs/api/react-native-win32.itouchablewin32state.ispressed.md +0 -11
  1357. package/docs/api/react-native-win32.itouchablewin32state.md +0 -20
  1358. package/docs/api/react-native-win32.itouchinfo.currentpagex.md +0 -11
  1359. package/docs/api/react-native-win32.itouchinfo.currentpagey.md +0 -11
  1360. package/docs/api/react-native-win32.itouchinfo.currenttimestamp.md +0 -11
  1361. package/docs/api/react-native-win32.itouchinfo.md +0 -29
  1362. package/docs/api/react-native-win32.itouchinfo.previouspagex.md +0 -11
  1363. package/docs/api/react-native-win32.itouchinfo.previouspagey.md +0 -11
  1364. package/docs/api/react-native-win32.itouchinfo.previoustimestamp.md +0 -11
  1365. package/docs/api/react-native-win32.itouchinfo.startpagex.md +0 -11
  1366. package/docs/api/react-native-win32.itouchinfo.startpagey.md +0 -11
  1367. package/docs/api/react-native-win32.itouchinfo.starttimestamp.md +0 -11
  1368. package/docs/api/react-native-win32.itouchinfo.touchactive.md +0 -11
  1369. package/docs/api/react-native-win32.itransitions.md +0 -15
  1370. package/docs/api/react-native-win32.iviewwin32.focus.md +0 -11
  1371. package/docs/api/react-native-win32.iviewwin32.md +0 -18
  1372. package/docs/api/react-native-win32.iviewwin32props.acceptskeyboardfocus.md +0 -16
  1373. package/docs/api/react-native-win32.iviewwin32props.accessibilityactions.md +0 -11
  1374. package/docs/api/react-native-win32.iviewwin32props.accessibilityannotation.md +0 -15
  1375. package/docs/api/react-native-win32.iviewwin32props.accessibilitylevel.md +0 -11
  1376. package/docs/api/react-native-win32.iviewwin32props.accessibilitypositioninset.md +0 -11
  1377. package/docs/api/react-native-win32.iviewwin32props.accessibilitysetsize.md +0 -11
  1378. package/docs/api/react-native-win32.iviewwin32props.animationclass.md +0 -11
  1379. package/docs/api/react-native-win32.iviewwin32props.children.md +0 -11
  1380. package/docs/api/react-native-win32.iviewwin32props.cursor.md +0 -11
  1381. package/docs/api/react-native-win32.iviewwin32props.focusable.md +0 -11
  1382. package/docs/api/react-native-win32.iviewwin32props.keydownevents.md +0 -11
  1383. package/docs/api/react-native-win32.iviewwin32props.keyupevents.md +0 -11
  1384. package/docs/api/react-native-win32.iviewwin32props.md +0 -44
  1385. package/docs/api/react-native-win32.iviewwin32props.onblur.md +0 -15
  1386. package/docs/api/react-native-win32.iviewwin32props.onblurcapture.md +0 -15
  1387. package/docs/api/react-native-win32.iviewwin32props.onfocus.md +0 -15
  1388. package/docs/api/react-native-win32.iviewwin32props.onfocuscapture.md +0 -15
  1389. package/docs/api/react-native-win32.iviewwin32props.onkeydown.md +0 -11
  1390. package/docs/api/react-native-win32.iviewwin32props.onkeydowncapture.md +0 -11
  1391. package/docs/api/react-native-win32.iviewwin32props.onkeyup.md +0 -11
  1392. package/docs/api/react-native-win32.iviewwin32props.onkeyupcapture.md +0 -11
  1393. package/docs/api/react-native-win32.iviewwin32props.onmouseenter.md +0 -11
  1394. package/docs/api/react-native-win32.iviewwin32props.onmouseleave.md +0 -11
  1395. package/docs/api/react-native-win32.iviewwin32props.tooltip.md +0 -13
  1396. package/docs/api/react-native-win32.iviewwin32props.type.md +0 -11
  1397. package/docs/api/react-native-win32.md +0 -85
  1398. package/docs/api/react-native-win32.omittedaccessibilitypropswin32.md +0 -15
  1399. package/docs/api/react-native-win32.personacoin.md +0 -11
  1400. package/docs/api/react-native-win32.personacoinpresence.md +0 -25
  1401. package/docs/api/react-native-win32.personacoinsize.md +0 -23
  1402. package/docs/api/react-native-win32.sharedaccessibilitypropsiosandwin32.md +0 -13
  1403. package/docs/api/react-native-win32.textstyle.md +0 -13
  1404. package/docs/api/react-native-win32.textwin32._constructor_.md +0 -20
  1405. package/docs/api/react-native-win32.textwin32.md +0 -25
  1406. package/docs/api/react-native-win32.textwin32.render.md +0 -15
  1407. package/docs/api/react-native-win32.textwin32omittypes.md +0 -11
  1408. package/docs/api/react-native-win32.touchablewin32._constructor_.md +0 -20
  1409. package/docs/api/react-native-win32.touchablewin32.componentwillunmount.md +0 -15
  1410. package/docs/api/react-native-win32.touchablewin32.focus.md +0 -11
  1411. package/docs/api/react-native-win32.touchablewin32.md +0 -34
  1412. package/docs/api/react-native-win32.touchablewin32.render.md +0 -15
  1413. package/docs/api/react-native-win32.usefrom.md +0 -13
  1414. package/docs/api/react-native-win32.viewwin32.md +0 -11
  1415. package/docs/api/react-native-win32.viewwin32omittypes.md +0 -11
  1416. package/etc/react-native-win32.api.md +0 -481
  1417. package/flow/Promise.js +0 -47
  1418. package/flow/fbjs.js +0 -258
  1419. package/flow/use-subscription.js +0 -19
  1420. package/jest/preprocessor.js +0 -120
  1421. package/typings-index.d.ts +0 -20
  1422. package/typings-index.js +0 -40
@@ -0,0 +1,978 @@
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
8
+ * @format
9
+ */
10
+
11
+ import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
12
+ import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
+ import type {PressEvent} from '../../Types/CoreEventTypes';
14
+
15
+ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
16
+ import UIManager from '../../ReactNative/UIManager';
17
+ import Platform from '../../Utilities/Platform';
18
+ import SoundManager from '../Sound/SoundManager';
19
+ import BoundingDimensions from './BoundingDimensions';
20
+ import Position from './Position';
21
+ import * as React from 'react';
22
+
23
+ const extractSingleTouch = (nativeEvent: {
24
+ +altKey: ?boolean,
25
+ +button: ?number,
26
+ +changedTouches: $ReadOnlyArray<PressEvent['nativeEvent']>,
27
+ +ctrlKey: ?boolean,
28
+ +force?: number,
29
+ +identifier: number,
30
+ +locationX: number,
31
+ +locationY: number,
32
+ +metaKey: ?boolean,
33
+ +pageX: number,
34
+ +pageY: number,
35
+ +shiftKey: ?boolean,
36
+ +target: ?number,
37
+ +timestamp: number,
38
+ +touches: $ReadOnlyArray<PressEvent['nativeEvent']>,
39
+ }) => {
40
+ const touches = nativeEvent.touches;
41
+ const changedTouches = nativeEvent.changedTouches;
42
+ const hasTouches = touches && touches.length > 0;
43
+ const hasChangedTouches = changedTouches && changedTouches.length > 0;
44
+
45
+ return !hasTouches && hasChangedTouches
46
+ ? changedTouches[0]
47
+ : hasTouches
48
+ ? touches[0]
49
+ : nativeEvent;
50
+ };
51
+
52
+ /**
53
+ * `Touchable`: Taps done right.
54
+ *
55
+ * You hook your `ResponderEventPlugin` events into `Touchable`. `Touchable`
56
+ * will measure time/geometry and tells you when to give feedback to the user.
57
+ *
58
+ * ====================== Touchable Tutorial ===============================
59
+ * The `Touchable` mixin helps you handle the "press" interaction. It analyzes
60
+ * the geometry of elements, and observes when another responder (scroll view
61
+ * etc) has stolen the touch lock. It notifies your component when it should
62
+ * give feedback to the user. (bouncing/highlighting/unhighlighting).
63
+ *
64
+ * - When a touch was activated (typically you highlight)
65
+ * - When a touch was deactivated (typically you unhighlight)
66
+ * - When a touch was "pressed" - a touch ended while still within the geometry
67
+ * of the element, and no other element (like scroller) has "stolen" touch
68
+ * lock ("responder") (Typically you bounce the element).
69
+ *
70
+ * A good tap interaction isn't as simple as you might think. There should be a
71
+ * slight delay before showing a highlight when starting a touch. If a
72
+ * subsequent touch move exceeds the boundary of the element, it should
73
+ * unhighlight, but if that same touch is brought back within the boundary, it
74
+ * should rehighlight again. A touch can move in and out of that boundary
75
+ * several times, each time toggling highlighting, but a "press" is only
76
+ * triggered if that touch ends while within the element's boundary and no
77
+ * scroller (or anything else) has stolen the lock on touches.
78
+ *
79
+ * To create a new type of component that handles interaction using the
80
+ * `Touchable` mixin, do the following:
81
+ *
82
+ * - Initialize the `Touchable` state.
83
+ *
84
+ * getInitialState: function() {
85
+ * return merge(this.touchableGetInitialState(), yourComponentState);
86
+ * }
87
+ *
88
+ * - Choose the rendered component who's touches should start the interactive
89
+ * sequence. On that rendered node, forward all `Touchable` responder
90
+ * handlers. You can choose any rendered node you like. Choose a node whose
91
+ * hit target you'd like to instigate the interaction sequence:
92
+ *
93
+ * // In render function:
94
+ * return (
95
+ * <View
96
+ * onStartShouldSetResponder={this.touchableHandleStartShouldSetResponder}
97
+ * onResponderTerminationRequest={this.touchableHandleResponderTerminationRequest}
98
+ * onResponderGrant={this.touchableHandleResponderGrant}
99
+ * onResponderMove={this.touchableHandleResponderMove}
100
+ * onResponderRelease={this.touchableHandleResponderRelease}
101
+ * onResponderTerminate={this.touchableHandleResponderTerminate}>
102
+ * <View>
103
+ * Even though the hit detection/interactions are triggered by the
104
+ * wrapping (typically larger) node, we usually end up implementing
105
+ * custom logic that highlights this inner one.
106
+ * </View>
107
+ * </View>
108
+ * );
109
+ *
110
+ * - You may set up your own handlers for each of these events, so long as you
111
+ * also invoke the `touchable*` handlers inside of your custom handler.
112
+ *
113
+ * - Implement the handlers on your component class in order to provide
114
+ * feedback to the user. See documentation for each of these class methods
115
+ * that you should implement.
116
+ *
117
+ * touchableHandlePress: function() {
118
+ * this.performBounceAnimation(); // or whatever you want to do.
119
+ * },
120
+ * touchableHandleActivePressIn: function() {
121
+ * this.beginHighlighting(...); // Whatever you like to convey activation
122
+ * },
123
+ * touchableHandleActivePressOut: function() {
124
+ * this.endHighlighting(...); // Whatever you like to convey deactivation
125
+ * },
126
+ *
127
+ * - There are more advanced methods you can implement (see documentation below):
128
+ * touchableGetHighlightDelayMS: function() {
129
+ * return 20;
130
+ * }
131
+ * // In practice, *always* use a predeclared constant (conserve memory).
132
+ * touchableGetPressRectOffset: function() {
133
+ * return {top: 20, left: 20, right: 20, bottom: 100};
134
+ * }
135
+ */
136
+
137
+ /**
138
+ * Touchable states.
139
+ */
140
+
141
+ const States = {
142
+ NOT_RESPONDER: 'NOT_RESPONDER', // Not the responder
143
+ RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN', // Responder, inactive, in the `PressRect`
144
+ RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT', // Responder, inactive, out of `PressRect`
145
+ RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN', // Responder, active, in the `PressRect`
146
+ RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT', // Responder, active, out of `PressRect`
147
+ RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN', // Responder, active, in the `PressRect`, after long press threshold
148
+ RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT', // Responder, active, out of `PressRect`, after long press threshold
149
+ ERROR: 'ERROR',
150
+ };
151
+
152
+ type State =
153
+ | typeof States.NOT_RESPONDER
154
+ | typeof States.RESPONDER_INACTIVE_PRESS_IN
155
+ | typeof States.RESPONDER_INACTIVE_PRESS_OUT
156
+ | typeof States.RESPONDER_ACTIVE_PRESS_IN
157
+ | typeof States.RESPONDER_ACTIVE_PRESS_OUT
158
+ | typeof States.RESPONDER_ACTIVE_LONG_PRESS_IN
159
+ | typeof States.RESPONDER_ACTIVE_LONG_PRESS_OUT
160
+ | typeof States.ERROR;
161
+
162
+ /*
163
+ * Quick lookup map for states that are considered to be "active"
164
+ */
165
+
166
+ const baseStatesConditions = {
167
+ NOT_RESPONDER: false,
168
+ RESPONDER_INACTIVE_PRESS_IN: false,
169
+ RESPONDER_INACTIVE_PRESS_OUT: false,
170
+ RESPONDER_ACTIVE_PRESS_IN: false,
171
+ RESPONDER_ACTIVE_PRESS_OUT: false,
172
+ RESPONDER_ACTIVE_LONG_PRESS_IN: false,
173
+ RESPONDER_ACTIVE_LONG_PRESS_OUT: false,
174
+ ERROR: false,
175
+ };
176
+
177
+ const IsActive = {
178
+ ...baseStatesConditions,
179
+ RESPONDER_ACTIVE_PRESS_OUT: true,
180
+ RESPONDER_ACTIVE_PRESS_IN: true,
181
+ };
182
+
183
+ /**
184
+ * Quick lookup for states that are considered to be "pressing" and are
185
+ * therefore eligible to result in a "selection" if the press stops.
186
+ */
187
+ const IsPressingIn = {
188
+ ...baseStatesConditions,
189
+ RESPONDER_INACTIVE_PRESS_IN: true,
190
+ RESPONDER_ACTIVE_PRESS_IN: true,
191
+ RESPONDER_ACTIVE_LONG_PRESS_IN: true,
192
+ };
193
+
194
+ const IsLongPressingIn = {
195
+ ...baseStatesConditions,
196
+ RESPONDER_ACTIVE_LONG_PRESS_IN: true,
197
+ };
198
+
199
+ /**
200
+ * Inputs to the state machine.
201
+ */
202
+ const Signals = {
203
+ DELAY: 'DELAY',
204
+ RESPONDER_GRANT: 'RESPONDER_GRANT',
205
+ RESPONDER_RELEASE: 'RESPONDER_RELEASE',
206
+ RESPONDER_TERMINATED: 'RESPONDER_TERMINATED',
207
+ ENTER_PRESS_RECT: 'ENTER_PRESS_RECT',
208
+ LEAVE_PRESS_RECT: 'LEAVE_PRESS_RECT',
209
+ LONG_PRESS_DETECTED: 'LONG_PRESS_DETECTED',
210
+ };
211
+
212
+ type Signal =
213
+ | typeof Signals.DELAY
214
+ | typeof Signals.RESPONDER_GRANT
215
+ | typeof Signals.RESPONDER_RELEASE
216
+ | typeof Signals.RESPONDER_TERMINATED
217
+ | typeof Signals.ENTER_PRESS_RECT
218
+ | typeof Signals.LEAVE_PRESS_RECT
219
+ | typeof Signals.LONG_PRESS_DETECTED;
220
+
221
+ /**
222
+ * Mapping from States x Signals => States
223
+ */
224
+ const Transitions = {
225
+ NOT_RESPONDER: {
226
+ DELAY: States.ERROR,
227
+ RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,
228
+ RESPONDER_RELEASE: States.ERROR,
229
+ RESPONDER_TERMINATED: States.ERROR,
230
+ ENTER_PRESS_RECT: States.ERROR,
231
+ LEAVE_PRESS_RECT: States.ERROR,
232
+ LONG_PRESS_DETECTED: States.ERROR,
233
+ },
234
+ RESPONDER_INACTIVE_PRESS_IN: {
235
+ DELAY: States.RESPONDER_ACTIVE_PRESS_IN,
236
+ RESPONDER_GRANT: States.ERROR,
237
+ RESPONDER_RELEASE: States.NOT_RESPONDER,
238
+ RESPONDER_TERMINATED: States.NOT_RESPONDER,
239
+ ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,
240
+ LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,
241
+ LONG_PRESS_DETECTED: States.ERROR,
242
+ },
243
+ RESPONDER_INACTIVE_PRESS_OUT: {
244
+ DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,
245
+ RESPONDER_GRANT: States.ERROR,
246
+ RESPONDER_RELEASE: States.NOT_RESPONDER,
247
+ RESPONDER_TERMINATED: States.NOT_RESPONDER,
248
+ ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,
249
+ LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,
250
+ LONG_PRESS_DETECTED: States.ERROR,
251
+ },
252
+ RESPONDER_ACTIVE_PRESS_IN: {
253
+ DELAY: States.ERROR,
254
+ RESPONDER_GRANT: States.ERROR,
255
+ RESPONDER_RELEASE: States.NOT_RESPONDER,
256
+ RESPONDER_TERMINATED: States.NOT_RESPONDER,
257
+ ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,
258
+ LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,
259
+ LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN,
260
+ },
261
+ RESPONDER_ACTIVE_PRESS_OUT: {
262
+ DELAY: States.ERROR,
263
+ RESPONDER_GRANT: States.ERROR,
264
+ RESPONDER_RELEASE: States.NOT_RESPONDER,
265
+ RESPONDER_TERMINATED: States.NOT_RESPONDER,
266
+ ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,
267
+ LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,
268
+ LONG_PRESS_DETECTED: States.ERROR,
269
+ },
270
+ RESPONDER_ACTIVE_LONG_PRESS_IN: {
271
+ DELAY: States.ERROR,
272
+ RESPONDER_GRANT: States.ERROR,
273
+ RESPONDER_RELEASE: States.NOT_RESPONDER,
274
+ RESPONDER_TERMINATED: States.NOT_RESPONDER,
275
+ ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,
276
+ LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,
277
+ LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN,
278
+ },
279
+ RESPONDER_ACTIVE_LONG_PRESS_OUT: {
280
+ DELAY: States.ERROR,
281
+ RESPONDER_GRANT: States.ERROR,
282
+ RESPONDER_RELEASE: States.NOT_RESPONDER,
283
+ RESPONDER_TERMINATED: States.NOT_RESPONDER,
284
+ ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,
285
+ LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,
286
+ LONG_PRESS_DETECTED: States.ERROR,
287
+ },
288
+ error: {
289
+ DELAY: States.NOT_RESPONDER,
290
+ RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,
291
+ RESPONDER_RELEASE: States.NOT_RESPONDER,
292
+ RESPONDER_TERMINATED: States.NOT_RESPONDER,
293
+ ENTER_PRESS_RECT: States.NOT_RESPONDER,
294
+ LEAVE_PRESS_RECT: States.NOT_RESPONDER,
295
+ LONG_PRESS_DETECTED: States.NOT_RESPONDER,
296
+ },
297
+ };
298
+
299
+ // ==== Typical Constants for integrating into UI components ====
300
+ // var HIT_EXPAND_PX = 20;
301
+ // var HIT_VERT_OFFSET_PX = 10;
302
+ const HIGHLIGHT_DELAY_MS = 130;
303
+
304
+ const PRESS_EXPAND_PX = 20;
305
+
306
+ const LONG_PRESS_THRESHOLD = 500;
307
+
308
+ const LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;
309
+
310
+ const LONG_PRESS_ALLOWED_MOVEMENT = 10;
311
+
312
+ // Default amount "active" region protrudes beyond box
313
+
314
+ /**
315
+ * By convention, methods prefixed with underscores are meant to be @private,
316
+ * and not @protected. Mixers shouldn't access them - not even to provide them
317
+ * as callback handlers.
318
+ *
319
+ *
320
+ * ========== Geometry =========
321
+ * `Touchable` only assumes that there exists a `HitRect` node. The `PressRect`
322
+ * is an abstract box that is extended beyond the `HitRect`.
323
+ *
324
+ * +--------------------------+
325
+ * | | - "Start" events in `HitRect` cause `HitRect`
326
+ * | +--------------------+ | to become the responder.
327
+ * | | +--------------+ | | - `HitRect` is typically expanded around
328
+ * | | | | | | the `VisualRect`, but shifted downward.
329
+ * | | | VisualRect | | | - After pressing down, after some delay,
330
+ * | | | | | | and before letting up, the Visual React
331
+ * | | +--------------+ | | will become "active". This makes it eligible
332
+ * | | HitRect | | for being highlighted (so long as the
333
+ * | +--------------------+ | press remains in the `PressRect`).
334
+ * | PressRect o |
335
+ * +----------------------|---+
336
+ * Out Region |
337
+ * +-----+ This gap between the `HitRect` and
338
+ * `PressRect` allows a touch to move far away
339
+ * from the original hit rect, and remain
340
+ * highlighted, and eligible for a "Press".
341
+ * Customize this via
342
+ * `touchableGetPressRectOffset()`.
343
+ *
344
+ *
345
+ *
346
+ * ======= State Machine =======
347
+ *
348
+ * +-------------+ <---+ RESPONDER_RELEASE
349
+ * |NOT_RESPONDER|
350
+ * +-------------+ <---+ RESPONDER_TERMINATED
351
+ * +
352
+ * | RESPONDER_GRANT (HitRect)
353
+ * v
354
+ * +---------------------------+ DELAY +-------------------------+ T + DELAY +------------------------------+
355
+ * |RESPONDER_INACTIVE_PRESS_IN|+-------->|RESPONDER_ACTIVE_PRESS_IN| +------------> |RESPONDER_ACTIVE_LONG_PRESS_IN|
356
+ * +---------------------------+ +-------------------------+ +------------------------------+
357
+ * + ^ + ^ + ^
358
+ * |LEAVE_ |ENTER_ |LEAVE_ |ENTER_ |LEAVE_ |ENTER_
359
+ * |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT
360
+ * | | | | | |
361
+ * v + v + v +
362
+ * +----------------------------+ DELAY +--------------------------+ +-------------------------------+
363
+ * |RESPONDER_INACTIVE_PRESS_OUT|+------->|RESPONDER_ACTIVE_PRESS_OUT| |RESPONDER_ACTIVE_LONG_PRESS_OUT|
364
+ * +----------------------------+ +--------------------------+ +-------------------------------+
365
+ *
366
+ * T + DELAY => LONG_PRESS_DELAY_MS + DELAY
367
+ *
368
+ * Not drawn are the side effects of each transition. The most important side
369
+ * effect is the `touchableHandlePress` abstract method invocation that occurs
370
+ * when a responder is released while in either of the "Press" states.
371
+ *
372
+ * The other important side effects are the highlight abstract method
373
+ * invocations (internal callbacks) to be implemented by the mixer.
374
+ *
375
+ *
376
+ * @lends Touchable.prototype
377
+ */
378
+ const TouchableMixin = {
379
+ componentDidMount: function () {
380
+ if (!Platform.isTV) {
381
+ return;
382
+ }
383
+ },
384
+
385
+ /**
386
+ * Clear all timeouts on unmount
387
+ */
388
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
389
+ * Flow's LTI update could not be added via codemod */
390
+ componentWillUnmount: function () {
391
+ this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);
392
+ this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);
393
+ this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);
394
+ },
395
+
396
+ /**
397
+ * It's prefer that mixins determine state in this way, having the class
398
+ * explicitly mix the state in the one and only `getInitialState` method.
399
+ *
400
+ * @return {object} State object to be placed inside of
401
+ * `this.state.touchable`.
402
+ */
403
+ touchableGetInitialState: function (): {
404
+ touchable: {
405
+ touchState: ?State,
406
+ responderID: ?PressEvent['currentTarget'],
407
+ },
408
+ } {
409
+ return {
410
+ touchable: {touchState: undefined, responderID: null},
411
+ };
412
+ },
413
+
414
+ // ==== Hooks to Gesture Responder system ====
415
+ /**
416
+ * Must return true if embedded in a native platform scroll view.
417
+ */
418
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
419
+ * Flow's LTI update could not be added via codemod */
420
+ touchableHandleResponderTerminationRequest: function (): any {
421
+ return !this.props.rejectResponderTermination;
422
+ },
423
+
424
+ /**
425
+ * Must return true to start the process of `Touchable`.
426
+ */
427
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
428
+ * Flow's LTI update could not be added via codemod */
429
+ touchableHandleStartShouldSetResponder: function (): any {
430
+ return !this.props.disabled;
431
+ },
432
+
433
+ /**
434
+ * Return true to cancel press on long press.
435
+ */
436
+ touchableLongPressCancelsPress: function (): boolean {
437
+ return true;
438
+ },
439
+
440
+ /**
441
+ * Place as callback for a DOM element's `onResponderGrant` event.
442
+ * @param {SyntheticEvent} e Synthetic event from event system.
443
+ *
444
+ */
445
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
446
+ * Flow's LTI update could not be added via codemod */
447
+ touchableHandleResponderGrant: function (e: PressEvent) {
448
+ const dispatchID = e.currentTarget;
449
+ // Since e is used in a callback invoked on another event loop
450
+ // (as in setTimeout etc), we need to call e.persist() on the
451
+ // event to make sure it doesn't get reused in the event object pool.
452
+ e.persist();
453
+
454
+ this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);
455
+ this.pressOutDelayTimeout = null;
456
+
457
+ this.state.touchable.touchState = States.NOT_RESPONDER;
458
+ this.state.touchable.responderID = dispatchID;
459
+ this._receiveSignal(Signals.RESPONDER_GRANT, e);
460
+ let delayMS =
461
+ this.touchableGetHighlightDelayMS !== undefined
462
+ ? Math.max(this.touchableGetHighlightDelayMS(), 0)
463
+ : HIGHLIGHT_DELAY_MS;
464
+ delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;
465
+ if (delayMS !== 0) {
466
+ this.touchableDelayTimeout = setTimeout(
467
+ this._handleDelay.bind(this, e),
468
+ delayMS,
469
+ );
470
+ } else {
471
+ this._handleDelay(e);
472
+ }
473
+
474
+ let longDelayMS =
475
+ this.touchableGetLongPressDelayMS !== undefined
476
+ ? Math.max(this.touchableGetLongPressDelayMS(), 10)
477
+ : LONG_PRESS_DELAY_MS;
478
+ longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;
479
+ this.longPressDelayTimeout = setTimeout(
480
+ this._handleLongDelay.bind(this, e),
481
+ longDelayMS + delayMS,
482
+ );
483
+ },
484
+
485
+ /**
486
+ * Place as callback for a DOM element's `onResponderRelease` event.
487
+ */
488
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
489
+ * Flow's LTI update could not be added via codemod */
490
+ touchableHandleResponderRelease: function (e: PressEvent) {
491
+ this.pressInLocation = null;
492
+ this._receiveSignal(Signals.RESPONDER_RELEASE, e);
493
+ },
494
+
495
+ /**
496
+ * Place as callback for a DOM element's `onResponderTerminate` event.
497
+ */
498
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
499
+ * Flow's LTI update could not be added via codemod */
500
+ touchableHandleResponderTerminate: function (e: PressEvent) {
501
+ this.pressInLocation = null;
502
+ this._receiveSignal(Signals.RESPONDER_TERMINATED, e);
503
+ },
504
+
505
+ /**
506
+ * Place as callback for a DOM element's `onResponderMove` event.
507
+ */
508
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
509
+ * Flow's LTI update could not be added via codemod */
510
+ touchableHandleResponderMove: function (e: PressEvent) {
511
+ // Measurement may not have returned yet.
512
+ if (!this.state.touchable.positionOnActivate) {
513
+ return;
514
+ }
515
+
516
+ const positionOnActivate = this.state.touchable.positionOnActivate;
517
+ const dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;
518
+ const pressRectOffset = this.touchableGetPressRectOffset
519
+ ? this.touchableGetPressRectOffset()
520
+ : {
521
+ left: PRESS_EXPAND_PX,
522
+ right: PRESS_EXPAND_PX,
523
+ top: PRESS_EXPAND_PX,
524
+ bottom: PRESS_EXPAND_PX,
525
+ };
526
+
527
+ let pressExpandLeft = pressRectOffset.left;
528
+ let pressExpandTop = pressRectOffset.top;
529
+ let pressExpandRight = pressRectOffset.right;
530
+ let pressExpandBottom = pressRectOffset.bottom;
531
+
532
+ const hitSlop = this.touchableGetHitSlop
533
+ ? this.touchableGetHitSlop()
534
+ : null;
535
+
536
+ if (hitSlop) {
537
+ pressExpandLeft += hitSlop.left || 0;
538
+ pressExpandTop += hitSlop.top || 0;
539
+ pressExpandRight += hitSlop.right || 0;
540
+ pressExpandBottom += hitSlop.bottom || 0;
541
+ }
542
+
543
+ const touch = extractSingleTouch(e.nativeEvent);
544
+ const pageX = touch && touch.pageX;
545
+ const pageY = touch && touch.pageY;
546
+
547
+ if (this.pressInLocation) {
548
+ const movedDistance = this._getDistanceBetweenPoints(
549
+ pageX,
550
+ pageY,
551
+ this.pressInLocation.pageX,
552
+ this.pressInLocation.pageY,
553
+ );
554
+ if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {
555
+ this._cancelLongPressDelayTimeout();
556
+ }
557
+ }
558
+
559
+ const isTouchWithinActive =
560
+ pageX > positionOnActivate.left - pressExpandLeft &&
561
+ pageY > positionOnActivate.top - pressExpandTop &&
562
+ pageX <
563
+ positionOnActivate.left +
564
+ dimensionsOnActivate.width +
565
+ pressExpandRight &&
566
+ pageY <
567
+ positionOnActivate.top +
568
+ dimensionsOnActivate.height +
569
+ pressExpandBottom;
570
+ if (isTouchWithinActive) {
571
+ const prevState = this.state.touchable.touchState;
572
+ this._receiveSignal(Signals.ENTER_PRESS_RECT, e);
573
+ const curState = this.state.touchable.touchState;
574
+ if (
575
+ curState === States.RESPONDER_INACTIVE_PRESS_IN &&
576
+ prevState !== States.RESPONDER_INACTIVE_PRESS_IN
577
+ ) {
578
+ // fix for t7967420
579
+ this._cancelLongPressDelayTimeout();
580
+ }
581
+ } else {
582
+ this._cancelLongPressDelayTimeout();
583
+ this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);
584
+ }
585
+ },
586
+
587
+ /**
588
+ * Invoked when the item receives focus. Mixers might override this to
589
+ * visually distinguish the `VisualRect` so that the user knows that it
590
+ * currently has the focus. Most platforms only support a single element being
591
+ * focused at a time, in which case there may have been a previously focused
592
+ * element that was blurred just prior to this. This can be overridden when
593
+ * using `Touchable.Mixin.withoutDefaultFocusAndBlur`.
594
+ */
595
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
596
+ * Flow's LTI update could not be added via codemod */
597
+ touchableHandleFocus: function (e: Event) {
598
+ this.props.onFocus && this.props.onFocus(e);
599
+ },
600
+
601
+ /**
602
+ * Invoked when the item loses focus. Mixers might override this to
603
+ * visually distinguish the `VisualRect` so that the user knows that it
604
+ * no longer has focus. Most platforms only support a single element being
605
+ * focused at a time, in which case the focus may have moved to another.
606
+ * This can be overridden when using
607
+ * `Touchable.Mixin.withoutDefaultFocusAndBlur`.
608
+ */
609
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
610
+ * Flow's LTI update could not be added via codemod */
611
+ touchableHandleBlur: function (e: Event) {
612
+ this.props.onBlur && this.props.onBlur(e);
613
+ },
614
+
615
+ // ==== Abstract Application Callbacks ====
616
+
617
+ /**
618
+ * Invoked when the item should be highlighted. Mixers should implement this
619
+ * to visually distinguish the `VisualRect` so that the user knows that
620
+ * releasing a touch will result in a "selection" (analog to click).
621
+ *
622
+ * @abstract
623
+ * touchableHandleActivePressIn: function,
624
+ */
625
+
626
+ /**
627
+ * Invoked when the item is "active" (in that it is still eligible to become
628
+ * a "select") but the touch has left the `PressRect`. Usually the mixer will
629
+ * want to unhighlight the `VisualRect`. If the user (while pressing) moves
630
+ * back into the `PressRect` `touchableHandleActivePressIn` will be invoked
631
+ * again and the mixer should probably highlight the `VisualRect` again. This
632
+ * event will not fire on an `touchEnd/mouseUp` event, only move events while
633
+ * the user is depressing the mouse/touch.
634
+ *
635
+ * @abstract
636
+ * touchableHandleActivePressOut: function
637
+ */
638
+
639
+ /**
640
+ * Invoked when the item is "selected" - meaning the interaction ended by
641
+ * letting up while the item was either in the state
642
+ * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`.
643
+ *
644
+ * @abstract
645
+ * touchableHandlePress: function
646
+ */
647
+
648
+ /**
649
+ * Invoked when the item is long pressed - meaning the interaction ended by
650
+ * letting up while the item was in `RESPONDER_ACTIVE_LONG_PRESS_IN`. If
651
+ * `touchableHandleLongPress` is *not* provided, `touchableHandlePress` will
652
+ * be called as it normally is. If `touchableHandleLongPress` is provided, by
653
+ * default any `touchableHandlePress` callback will not be invoked. To
654
+ * override this default behavior, override `touchableLongPressCancelsPress`
655
+ * to return false. As a result, `touchableHandlePress` will be called when
656
+ * lifting up, even if `touchableHandleLongPress` has also been called.
657
+ *
658
+ * @abstract
659
+ * touchableHandleLongPress: function
660
+ */
661
+
662
+ /**
663
+ * Returns the number of millis to wait before triggering a highlight.
664
+ *
665
+ * @abstract
666
+ * touchableGetHighlightDelayMS: function
667
+ */
668
+
669
+ /**
670
+ * Returns the amount to extend the `HitRect` into the `PressRect`. Positive
671
+ * numbers mean the size expands outwards.
672
+ *
673
+ * @abstract
674
+ * touchableGetPressRectOffset: function
675
+ */
676
+
677
+ // ==== Internal Logic ====
678
+
679
+ /**
680
+ * Measures the `HitRect` node on activation. The Bounding rectangle is with
681
+ * respect to viewport - not page, so adding the `pageXOffset/pageYOffset`
682
+ * should result in points that are in the same coordinate system as an
683
+ * event's `globalX/globalY` data values.
684
+ *
685
+ * - Consider caching this for the lifetime of the component, or possibly
686
+ * being able to share this cache between any `ScrollMap` view.
687
+ *
688
+ * @sideeffects
689
+ * @private
690
+ */
691
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
692
+ * Flow's LTI update could not be added via codemod */
693
+ _remeasureMetricsOnActivation: function () {
694
+ const responderID = this.state.touchable.responderID;
695
+ if (responderID == null) {
696
+ return;
697
+ }
698
+
699
+ if (typeof responderID === 'number') {
700
+ UIManager.measure(responderID, this._handleQueryLayout);
701
+ } else {
702
+ responderID.measure(this._handleQueryLayout);
703
+ }
704
+ },
705
+
706
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
707
+ * Flow's LTI update could not be added via codemod */
708
+ _handleQueryLayout: function (
709
+ l: number,
710
+ t: number,
711
+ w: number,
712
+ h: number,
713
+ globalX: number,
714
+ globalY: number,
715
+ ) {
716
+ //don't do anything UIManager failed to measure node
717
+ if (!l && !t && !w && !h && !globalX && !globalY) {
718
+ return;
719
+ }
720
+ this.state.touchable.positionOnActivate &&
721
+ // $FlowFixMe[prop-missing]
722
+ Position.release(this.state.touchable.positionOnActivate);
723
+ this.state.touchable.dimensionsOnActivate &&
724
+ // $FlowFixMe[prop-missing]
725
+ BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);
726
+ // $FlowFixMe[prop-missing]
727
+ this.state.touchable.positionOnActivate = Position.getPooled(
728
+ globalX,
729
+ globalY,
730
+ );
731
+ // $FlowFixMe[prop-missing]
732
+ this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(
733
+ w,
734
+ h,
735
+ );
736
+ },
737
+
738
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
739
+ * Flow's LTI update could not be added via codemod */
740
+ _handleDelay: function (e: PressEvent) {
741
+ this.touchableDelayTimeout = null;
742
+ this._receiveSignal(Signals.DELAY, e);
743
+ },
744
+
745
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
746
+ * Flow's LTI update could not be added via codemod */
747
+ _handleLongDelay: function (e: PressEvent) {
748
+ this.longPressDelayTimeout = null;
749
+ const curState = this.state.touchable.touchState;
750
+ if (
751
+ curState === States.RESPONDER_ACTIVE_PRESS_IN ||
752
+ curState === States.RESPONDER_ACTIVE_LONG_PRESS_IN
753
+ ) {
754
+ this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);
755
+ }
756
+ },
757
+
758
+ /**
759
+ * Receives a state machine signal, performs side effects of the transition
760
+ * and stores the new state. Validates the transition as well.
761
+ *
762
+ * @param {Signals} signal State machine signal.
763
+ * @throws Error if invalid state transition or unrecognized signal.
764
+ * @sideeffects
765
+ */
766
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
767
+ * Flow's LTI update could not be added via codemod */
768
+ _receiveSignal: function (signal: Signal, e: PressEvent) {
769
+ const responderID = this.state.touchable.responderID;
770
+ const curState = this.state.touchable.touchState;
771
+ const nextState = Transitions[curState] && Transitions[curState][signal];
772
+ if (!responderID && signal === Signals.RESPONDER_RELEASE) {
773
+ return;
774
+ }
775
+ if (!nextState) {
776
+ throw new Error(
777
+ 'Unrecognized signal `' +
778
+ signal +
779
+ '` or state `' +
780
+ curState +
781
+ '` for Touchable responder `' +
782
+ typeof this.state.touchable.responderID ===
783
+ 'number'
784
+ ? this.state.touchable.responderID
785
+ : 'host component' + '`',
786
+ );
787
+ }
788
+ if (nextState === States.ERROR) {
789
+ throw new Error(
790
+ 'Touchable cannot transition from `' +
791
+ curState +
792
+ '` to `' +
793
+ signal +
794
+ '` for responder `' +
795
+ typeof this.state.touchable.responderID ===
796
+ 'number'
797
+ ? this.state.touchable.responderID
798
+ : '<<host component>>' + '`',
799
+ );
800
+ }
801
+ if (curState !== nextState) {
802
+ this._performSideEffectsForTransition(curState, nextState, signal, e);
803
+ this.state.touchable.touchState = nextState;
804
+ }
805
+ },
806
+
807
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
808
+ * Flow's LTI update could not be added via codemod */
809
+ _cancelLongPressDelayTimeout: function () {
810
+ this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);
811
+ this.longPressDelayTimeout = null;
812
+ },
813
+
814
+ _isHighlight: function (state: State): boolean {
815
+ return (
816
+ state === States.RESPONDER_ACTIVE_PRESS_IN ||
817
+ state === States.RESPONDER_ACTIVE_LONG_PRESS_IN
818
+ );
819
+ },
820
+
821
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
822
+ * Flow's LTI update could not be added via codemod */
823
+ _savePressInLocation: function (e: PressEvent) {
824
+ const touch = extractSingleTouch(e.nativeEvent);
825
+ const pageX = touch && touch.pageX;
826
+ const pageY = touch && touch.pageY;
827
+ const locationX = touch && touch.locationX;
828
+ const locationY = touch && touch.locationY;
829
+ this.pressInLocation = {pageX, pageY, locationX, locationY};
830
+ },
831
+
832
+ _getDistanceBetweenPoints: function (
833
+ aX: number,
834
+ aY: number,
835
+ bX: number,
836
+ bY: number,
837
+ ): number {
838
+ const deltaX = aX - bX;
839
+ const deltaY = aY - bY;
840
+ return Math.sqrt(deltaX * deltaX + deltaY * deltaY);
841
+ },
842
+
843
+ /**
844
+ * Will perform a transition between touchable states, and identify any
845
+ * highlighting or unhighlighting that must be performed for this particular
846
+ * transition.
847
+ *
848
+ * @param {States} curState Current Touchable state.
849
+ * @param {States} nextState Next Touchable state.
850
+ * @param {Signal} signal Signal that triggered the transition.
851
+ * @param {Event} e Native event.
852
+ * @sideeffects
853
+ */
854
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
855
+ * Flow's LTI update could not be added via codemod */
856
+ _performSideEffectsForTransition: function (
857
+ curState: State,
858
+ nextState: State,
859
+ signal: Signal,
860
+ e: PressEvent,
861
+ ) {
862
+ const curIsHighlight = this._isHighlight(curState);
863
+ const newIsHighlight = this._isHighlight(nextState);
864
+
865
+ const isFinalSignal =
866
+ signal === Signals.RESPONDER_TERMINATED ||
867
+ signal === Signals.RESPONDER_RELEASE;
868
+
869
+ if (isFinalSignal) {
870
+ this._cancelLongPressDelayTimeout();
871
+ }
872
+
873
+ const isInitialTransition =
874
+ curState === States.NOT_RESPONDER &&
875
+ nextState === States.RESPONDER_INACTIVE_PRESS_IN;
876
+
877
+ const isActiveTransition = !IsActive[curState] && IsActive[nextState];
878
+ if (isInitialTransition || isActiveTransition) {
879
+ this._remeasureMetricsOnActivation();
880
+ }
881
+
882
+ if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {
883
+ this.touchableHandleLongPress && this.touchableHandleLongPress(e);
884
+ }
885
+
886
+ if (newIsHighlight && !curIsHighlight) {
887
+ this._startHighlight(e);
888
+ } else if (!newIsHighlight && curIsHighlight) {
889
+ this._endHighlight(e);
890
+ }
891
+
892
+ if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
893
+ const hasLongPressHandler = !!this.props.onLongPress;
894
+ const pressIsLongButStillCallOnPress =
895
+ IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler
896
+ (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.
897
+
898
+ const shouldInvokePress =
899
+ !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;
900
+ if (shouldInvokePress && this.touchableHandlePress) {
901
+ if (!newIsHighlight && !curIsHighlight) {
902
+ // we never highlighted because of delay, but we should highlight now
903
+ this._startHighlight(e);
904
+ this._endHighlight(e);
905
+ }
906
+ if (Platform.OS === 'android' && !this.props.touchSoundDisabled) {
907
+ SoundManager.playTouchSound();
908
+ }
909
+ this.touchableHandlePress(e);
910
+ }
911
+ }
912
+
913
+ this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);
914
+ this.touchableDelayTimeout = null;
915
+ },
916
+
917
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
918
+ * Flow's LTI update could not be added via codemod */
919
+ _startHighlight: function (e: PressEvent) {
920
+ this._savePressInLocation(e);
921
+ this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);
922
+ },
923
+
924
+ /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
925
+ * Flow's LTI update could not be added via codemod */
926
+ _endHighlight: function (e: PressEvent) {
927
+ if (this.touchableHandleActivePressOut) {
928
+ if (
929
+ this.touchableGetPressOutDelayMS &&
930
+ this.touchableGetPressOutDelayMS()
931
+ ) {
932
+ this.pressOutDelayTimeout = setTimeout(() => {
933
+ this.touchableHandleActivePressOut(e);
934
+ }, this.touchableGetPressOutDelayMS());
935
+ } else {
936
+ this.touchableHandleActivePressOut(e);
937
+ }
938
+ }
939
+ },
940
+
941
+ withoutDefaultFocusAndBlur: ({}: {...}),
942
+ };
943
+
944
+ /**
945
+ * Provide an optional version of the mixin where `touchableHandleFocus` and
946
+ * `touchableHandleBlur` can be overridden. This allows appropriate defaults to
947
+ * be set on TV platforms, without breaking existing implementations of
948
+ * `Touchable`.
949
+ */
950
+ const {
951
+ touchableHandleFocus,
952
+ touchableHandleBlur,
953
+ ...TouchableMixinWithoutDefaultFocusAndBlur
954
+ } = TouchableMixin;
955
+ TouchableMixin.withoutDefaultFocusAndBlur =
956
+ TouchableMixinWithoutDefaultFocusAndBlur;
957
+
958
+ const Touchable = {
959
+ Mixin: TouchableMixin,
960
+ /**
961
+ * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).
962
+ */
963
+ renderDebugView: ({
964
+ color,
965
+ hitSlop,
966
+ }: {
967
+ color: ColorValue,
968
+ hitSlop: EdgeInsetsProp,
969
+ ...
970
+ }): null | React.Node => {
971
+ if (__DEV__) {
972
+ return <PressabilityDebugView color={color} hitSlop={hitSlop} />;
973
+ }
974
+ return null;
975
+ },
976
+ };
977
+
978
+ export default Touchable;