@office-iss/react-native-win32 0.0.0-canary.27 → 0.0.0-canary.270

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1425) hide show
  1. package/.eslintignore +5 -2
  2. package/.eslintrc.js +27 -2
  3. package/.flowconfig +72 -37
  4. package/CHANGELOG.json +5573 -1
  5. package/CHANGELOG.md +2216 -7
  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 +86 -0
  23. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +38 -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 +136 -0
  45. package/Libraries/Animated/animations/DecayAnimation.js +133 -0
  46. package/Libraries/Animated/animations/SpringAnimation.js +378 -0
  47. package/Libraries/Animated/animations/TimingAnimation.js +181 -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 +20 -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 +87 -0
  56. package/Libraries/Animated/nodes/AnimatedAddition.js +64 -0
  57. package/Libraries/Animated/nodes/AnimatedColor.js +320 -0
  58. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +72 -0
  59. package/Libraries/Animated/nodes/AnimatedDivision.js +80 -0
  60. package/Libraries/Animated/nodes/AnimatedInterpolation.js +416 -0
  61. package/Libraries/Animated/nodes/AnimatedModulo.js +63 -0
  62. package/Libraries/Animated/nodes/AnimatedMultiplication.js +63 -0
  63. package/Libraries/Animated/nodes/AnimatedNode.js +200 -0
  64. package/Libraries/Animated/nodes/AnimatedObject.js +162 -0
  65. package/Libraries/Animated/nodes/AnimatedProps.js +267 -0
  66. package/Libraries/Animated/nodes/AnimatedStyle.js +239 -0
  67. package/Libraries/Animated/nodes/AnimatedSubtraction.js +64 -0
  68. package/Libraries/Animated/nodes/AnimatedTracking.js +100 -0
  69. package/Libraries/Animated/nodes/AnimatedTransform.js +198 -0
  70. package/Libraries/Animated/nodes/AnimatedValue.js +303 -0
  71. package/Libraries/Animated/nodes/AnimatedValueXY.js +236 -0
  72. package/Libraries/Animated/nodes/AnimatedWithChildren.js +85 -0
  73. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  74. package/Libraries/Animated/useAnimatedProps.js +401 -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 +161 -0
  103. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +421 -0
  104. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +390 -97
  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 +73 -48
  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 +323 -125
  122. package/Libraries/Components/Button.win32.js +455 -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 +116 -56
  137. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +5 -13
  138. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  139. package/Libraries/Components/Pressable/Pressable.js +176 -43
  140. package/Libraries/Components/Pressable/Pressable.win32.js +437 -0
  141. package/Libraries/Components/Pressable/useAndroidRippleForView.js +38 -23
  142. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +28 -22
  143. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  144. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  145. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +5 -27
  146. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +4 -77
  147. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -56
  148. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  149. package/Libraries/Components/RefreshControl/RefreshControl.js +16 -38
  150. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +7 -10
  151. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +4 -20
  152. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  153. package/Libraries/Components/SafeAreaView/SafeAreaView.js +12 -39
  154. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +12 -41
  155. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +5 -32
  156. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +39 -21
  157. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +13 -20
  158. package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
  159. package/Libraries/Components/ScrollView/ScrollView.js +1153 -434
  160. package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
  161. package/Libraries/Components/ScrollView/ScrollViewContext.js +22 -0
  162. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +170 -18
  163. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +11 -17
  164. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +207 -62
  165. package/Libraries/Components/ScrollView/processDecelerationRate.js +2 -4
  166. package/Libraries/Components/Sound/NativeSoundManager.js +5 -15
  167. package/Libraries/Components/Sound/SoundManager.js +3 -4
  168. package/Libraries/Components/StaticRenderer.js +1 -1
  169. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +5 -27
  170. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +5 -35
  171. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  172. package/Libraries/Components/StatusBar/StatusBar.js +40 -60
  173. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +5 -56
  174. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  175. package/Libraries/Components/Switch/Switch.js +160 -133
  176. package/Libraries/Components/Switch/SwitchNativeComponent.js +5 -50
  177. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +237 -67
  178. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  179. package/Libraries/Components/TextInput/InputAccessoryView.js +28 -23
  180. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +5 -18
  181. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +26 -31
  182. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +18 -38
  183. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +167 -0
  184. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
  185. package/Libraries/Components/TextInput/Tests/TextInputTest.js +128 -126
  186. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -0
  187. package/Libraries/Components/TextInput/TextInput.d.ts +1003 -0
  188. package/Libraries/Components/TextInput/TextInput.flow.js +1108 -0
  189. package/Libraries/Components/TextInput/TextInput.js +1130 -443
  190. package/Libraries/Components/TextInput/TextInput.win32.js +2028 -179
  191. package/Libraries/Components/TextInput/TextInputNativeCommands.js +29 -0
  192. package/Libraries/Components/TextInput/TextInputState.js +33 -10
  193. package/Libraries/Components/TextInput/TextInputState.win32.js +45 -17
  194. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +23 -0
  195. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +5 -31
  196. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +11 -10
  197. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  198. package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
  199. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +16 -10
  200. package/Libraries/Components/Touchable/BoundingDimensions.js +13 -6
  201. package/Libraries/Components/Touchable/PooledClass.js +26 -15
  202. package/Libraries/Components/Touchable/Position.js +9 -5
  203. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
  204. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +344 -381
  205. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -0
  206. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  207. package/Libraries/Components/Touchable/Touchable.js +122 -133
  208. package/Libraries/Components/Touchable/Touchable.win32.js +978 -0
  209. package/Libraries/Components/Touchable/TouchableBounce.js +56 -55
  210. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +62 -0
  211. package/Libraries/Components/Touchable/TouchableHighlight.js +66 -56
  212. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
  213. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +86 -67
  214. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +99 -51
  215. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +81 -0
  216. package/Libraries/Components/Touchable/TouchableOpacity.js +94 -58
  217. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -34
  218. package/Libraries/Components/Touchable/TouchableWin32.Props.js +3 -3
  219. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -0
  220. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
  221. package/Libraries/Components/Touchable/TouchableWin32.Types.js +3 -3
  222. package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -0
  223. package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
  224. package/Libraries/Components/Touchable/TouchableWin32.js +507 -529
  225. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -0
  226. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +151 -0
  227. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +149 -107
  228. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +4 -19
  229. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +3 -4
  230. package/Libraries/Components/View/ReactNativeStyleAttributes.js +199 -69
  231. package/Libraries/Components/View/ReactNativeViewAttributes.js +7 -3
  232. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +37 -13
  233. package/Libraries/Components/View/View.d.ts +29 -0
  234. package/Libraries/Components/View/View.js +105 -13
  235. package/Libraries/Components/View/View.win32.js +276 -0
  236. package/Libraries/Components/View/ViewAccessibility.d.ts +566 -0
  237. package/Libraries/Components/View/ViewAccessibility.js +88 -7
  238. package/Libraries/Components/View/ViewAccessibility.win32.js +180 -0
  239. package/Libraries/Components/View/ViewNativeComponent.js +95 -57
  240. package/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
  241. package/Libraries/Components/View/ViewPropTypes.js +230 -66
  242. package/Libraries/Components/View/ViewPropTypes.win32.js +743 -0
  243. package/Libraries/Components/View/ViewWin32.d.ts +30 -12
  244. package/Libraries/Components/View/ViewWin32.js +129 -80
  245. package/Libraries/Core/Devtools/getDevServer.js +9 -8
  246. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  247. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +153 -0
  248. package/Libraries/Core/Devtools/openFileInEditor.js +6 -2
  249. package/Libraries/Core/Devtools/openURLInBrowser.js +3 -2
  250. package/Libraries/Core/Devtools/parseErrorStack.js +14 -23
  251. package/Libraries/Core/Devtools/parseHermesStack.js +71 -44
  252. package/Libraries/Core/Devtools/symbolicateStackTrace.js +13 -58
  253. package/Libraries/Core/ExceptionsManager.js +93 -98
  254. package/Libraries/Core/ExtendedError.js +33 -0
  255. package/Libraries/Core/InitializeCore.js +7 -3
  256. package/Libraries/Core/NativeExceptionsManager.js +5 -100
  257. package/Libraries/Core/RawEventEmitter.js +39 -0
  258. package/Libraries/Core/ReactFiberErrorDialog.js +47 -38
  259. package/Libraries/Core/ReactNativeVersion.js +13 -7
  260. package/Libraries/Core/ReactNativeVersionCheck.js +11 -8
  261. package/Libraries/Core/ReactNativeVersionCheck.win32.js +11 -8
  262. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +5 -21
  263. package/Libraries/Core/Timers/JSTimers.js +94 -120
  264. package/Libraries/Core/Timers/NativeTiming.js +5 -19
  265. package/Libraries/Core/Timers/immediateShim.js +68 -0
  266. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  267. package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
  268. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  269. package/Libraries/Core/checkNativeVersion.js +1 -1
  270. package/Libraries/Core/polyfillPromise.js +19 -3
  271. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  272. package/Libraries/Core/registerCallableModule.js +42 -0
  273. package/Libraries/Core/setUpAlert.js +2 -2
  274. package/Libraries/Core/setUpBatchedBridge.js +24 -11
  275. package/Libraries/Core/setUpDeveloperTools.js +59 -60
  276. package/Libraries/Core/setUpErrorHandling.js +9 -3
  277. package/Libraries/Core/setUpGlobals.js +8 -6
  278. package/Libraries/Core/setUpNavigator.js +8 -7
  279. package/Libraries/Core/setUpPerformance.js +31 -0
  280. package/Libraries/Core/setUpReactDevTools.js +121 -12
  281. package/Libraries/Core/setUpReactRefresh.js +4 -6
  282. package/Libraries/Core/setUpRegeneratorRuntime.js +28 -9
  283. package/Libraries/Core/setUpSegmentFetcher.js +8 -47
  284. package/Libraries/Core/setUpTimers.js +96 -8
  285. package/Libraries/Core/setUpXHR.js +5 -5
  286. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  287. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  288. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  289. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  290. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
  291. package/Libraries/EventEmitter/NativeEventEmitter.js +92 -40
  292. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
  293. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +27 -68
  294. package/Libraries/EventEmitter/RCTEventEmitter.js +6 -2
  295. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  296. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +2 -4
  297. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +34 -11
  298. package/Libraries/Events/CustomEvent.js +32 -0
  299. package/Libraries/Events/EventPolyfill.js +239 -0
  300. package/Libraries/HeapCapture/HeapCapture.js +3 -5
  301. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +5 -12
  302. package/Libraries/Image/AssetRegistry.js +2 -27
  303. package/Libraries/Image/AssetSourceResolver.js +65 -39
  304. package/Libraries/Image/AssetUtils.js +47 -0
  305. package/Libraries/Image/Image.android.js +208 -271
  306. package/Libraries/Image/Image.d.ts +382 -0
  307. package/Libraries/Image/Image.ios.js +147 -104
  308. package/Libraries/Image/Image.win32.js +152 -93
  309. package/Libraries/Image/ImageAnalyticsTagContext.js +22 -0
  310. package/Libraries/Image/ImageBackground.js +31 -12
  311. package/Libraries/Image/ImageInjection.js +87 -0
  312. package/Libraries/Image/ImageProps.js +154 -29
  313. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  314. package/Libraries/Image/ImageResizeMode.js +1 -1
  315. package/Libraries/Image/ImageSource.d.ts +76 -0
  316. package/Libraries/Image/ImageSource.js +73 -21
  317. package/Libraries/Image/ImageSourceUtils.js +80 -0
  318. package/Libraries/Image/ImageTypes.d.ts +25 -25
  319. package/Libraries/Image/ImageTypes.flow.js +76 -0
  320. package/Libraries/Image/ImageTypes.js +8 -8
  321. package/Libraries/Image/ImageTypes.js.map +1 -0
  322. package/Libraries/Image/ImageUtils.js +22 -0
  323. package/Libraries/Image/ImageViewNativeComponent.js +145 -29
  324. package/Libraries/Image/NativeImageEditor.js +13 -0
  325. package/Libraries/Image/NativeImageLoaderAndroid.js +5 -32
  326. package/Libraries/Image/NativeImageLoaderIOS.js +5 -24
  327. package/Libraries/Image/NativeImageLoaderWin32.js +5 -32
  328. package/Libraries/Image/NativeImageStoreAndroid.js +13 -0
  329. package/Libraries/Image/NativeImageStoreIOS.js +13 -0
  330. package/Libraries/Image/RelativeImageStub.js +2 -2
  331. package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
  332. package/Libraries/Image/Tests/ImageWin32Test.js +22 -19
  333. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -0
  334. package/Libraries/Image/TextInlineImageNativeComponent.js +38 -7
  335. package/Libraries/Image/assetPaths.js +36 -0
  336. package/Libraries/Image/nativeImageSource.js +4 -6
  337. package/Libraries/Image/resolveAssetSource.js +65 -31
  338. package/Libraries/Image/resolveAssetSource.win32.js +18 -6
  339. package/Libraries/Inspector/BorderBox.js +2 -2
  340. package/Libraries/Inspector/BoxInspector.js +4 -5
  341. package/Libraries/Inspector/ElementBox.js +15 -10
  342. package/Libraries/Inspector/ElementProperties.js +35 -62
  343. package/Libraries/Inspector/Inspector.js +152 -259
  344. package/Libraries/Inspector/Inspector.win32.js +156 -263
  345. package/Libraries/Inspector/InspectorOverlay.js +28 -53
  346. package/Libraries/Inspector/InspectorOverlay.win32.js +31 -54
  347. package/Libraries/Inspector/InspectorPanel.js +31 -37
  348. package/Libraries/Inspector/NetworkOverlay.js +28 -18
  349. package/Libraries/Inspector/PerformanceOverlay.js +5 -5
  350. package/Libraries/Inspector/ReactDevToolsOverlay.js +166 -0
  351. package/Libraries/Inspector/StyleInspector.js +3 -3
  352. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +83 -0
  353. package/Libraries/Inspector/resolveBoxStyle.js +1 -1
  354. package/Libraries/Interaction/FrameRateLogger.js +10 -22
  355. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  356. package/Libraries/Interaction/InteractionManager.js +29 -40
  357. package/Libraries/Interaction/JSEventLoopWatchdog.js +10 -15
  358. package/Libraries/Interaction/NativeFrameRateLogger.js +5 -16
  359. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  360. package/Libraries/Interaction/PanResponder.js +26 -28
  361. package/Libraries/Interaction/TaskQueue.js +15 -16
  362. package/Libraries/Interaction/TouchHistoryMath.js +32 -29
  363. package/Libraries/JSInspector/InspectorAgent.js +4 -4
  364. package/Libraries/JSInspector/JSInspector.js +2 -5
  365. package/Libraries/JSInspector/NetworkAgent.js +11 -16
  366. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  367. package/Libraries/LayoutAnimation/LayoutAnimation.js +86 -37
  368. package/Libraries/Linking/Linking.d.ts +61 -0
  369. package/Libraries/Linking/Linking.js +50 -41
  370. package/Libraries/Linking/NativeIntentAndroid.js +13 -0
  371. package/Libraries/Linking/NativeLinkingManager.js +13 -0
  372. package/Libraries/Lists/FillRateHelper.js +6 -232
  373. package/Libraries/Lists/FlatList.d.ts +245 -0
  374. package/Libraries/Lists/FlatList.js +194 -127
  375. package/Libraries/Lists/SectionList.d.ts +267 -0
  376. package/Libraries/Lists/SectionList.js +38 -33
  377. package/Libraries/Lists/SectionListModern.js +249 -0
  378. package/Libraries/Lists/ViewabilityHelper.js +10 -327
  379. package/Libraries/Lists/VirtualizeUtils.js +6 -235
  380. package/Libraries/Lists/VirtualizedList.js +10 -2224
  381. package/Libraries/Lists/VirtualizedListContext.js +18 -0
  382. package/Libraries/Lists/VirtualizedSectionList.js +9 -565
  383. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -1
  384. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +8 -8
  385. package/Libraries/LogBox/Data/LogBoxData.js +104 -73
  386. package/Libraries/LogBox/Data/LogBoxLog.js +125 -12
  387. package/Libraries/LogBox/Data/LogBoxSymbolication.js +10 -9
  388. package/Libraries/LogBox/Data/parseLogBoxLog.js +289 -76
  389. package/Libraries/LogBox/LogBox.d.ts +28 -0
  390. package/Libraries/LogBox/LogBox.js +163 -91
  391. package/Libraries/LogBox/LogBoxInspectorContainer.js +6 -6
  392. package/Libraries/LogBox/LogBoxNotificationContainer.js +10 -7
  393. package/Libraries/LogBox/UI/AnsiHighlight.js +17 -8
  394. package/Libraries/LogBox/UI/LogBoxButton.js +6 -7
  395. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  396. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  397. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  398. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  399. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  400. package/Libraries/LogBox/UI/LogBoxInspector.js +13 -77
  401. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
  402. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +12 -10
  403. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
  404. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +9 -53
  405. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
  406. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +19 -79
  407. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +113 -0
  408. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
  409. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -7
  410. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +16 -14
  411. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +196 -0
  412. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -5
  413. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +6 -10
  414. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -10
  415. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +118 -0
  416. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +19 -11
  417. package/Libraries/LogBox/UI/LogBoxMessage.js +100 -19
  418. package/Libraries/LogBox/UI/LogBoxNotification.js +20 -158
  419. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
  420. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
  421. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
  422. package/Libraries/LogBox/UI/LogBoxStyle.js +1 -3
  423. package/Libraries/LogBox/UI/LogBoxStyle.win32.js +65 -0
  424. package/Libraries/Modal/Modal.d.ts +111 -0
  425. package/Libraries/Modal/Modal.js +147 -72
  426. package/Libraries/Modal/ModalInjection.js +15 -0
  427. package/Libraries/Modal/NativeModalManager.js +5 -14
  428. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +4 -117
  429. package/Libraries/NativeComponent/BaseViewConfig.android.js +357 -0
  430. package/Libraries/NativeComponent/BaseViewConfig.ios.js +422 -0
  431. package/Libraries/NativeComponent/BaseViewConfig.win32.js +414 -0
  432. package/Libraries/NativeComponent/NativeComponentRegistry.js +164 -0
  433. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +30 -0
  434. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +25 -0
  435. package/Libraries/NativeComponent/StaticViewConfigValidator.js +144 -0
  436. package/Libraries/NativeComponent/ViewConfig.js +52 -0
  437. package/Libraries/NativeComponent/ViewConfigIgnore.js +51 -0
  438. package/Libraries/NativeModules/specs/NativeDevMenu.js +5 -16
  439. package/Libraries/NativeModules/specs/NativeDevSettings.js +5 -26
  440. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +5 -12
  441. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +5 -41
  442. package/Libraries/NativeModules/specs/NativeLogBox.js +5 -13
  443. package/Libraries/NativeModules/specs/NativeRedBox.js +5 -13
  444. package/Libraries/NativeModules/specs/NativeSourceCode.js +5 -14
  445. package/Libraries/Network/FormData.js +13 -5
  446. package/Libraries/Network/NativeNetworkingAndroid.js +5 -30
  447. package/Libraries/Network/NativeNetworkingIOS.js +5 -30
  448. package/Libraries/Network/RCTNetworking.android.js +16 -12
  449. package/Libraries/Network/RCTNetworking.ios.js +67 -18
  450. package/Libraries/Network/RCTNetworking.win32.js +84 -68
  451. package/Libraries/Network/XHRInterceptor.js +66 -18
  452. package/Libraries/Network/XMLHttpRequest.js +81 -30
  453. package/Libraries/Network/convertRequestBody.js +4 -4
  454. package/Libraries/Network/fetch.js +2 -1
  455. package/Libraries/NewAppScreen/components/Colors.js +2 -3
  456. package/Libraries/NewAppScreen/components/DebugInstructions.js +9 -6
  457. package/Libraries/NewAppScreen/components/Header.js +38 -16
  458. package/Libraries/NewAppScreen/components/HermesBadge.js +53 -0
  459. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +52 -27
  460. package/Libraries/NewAppScreen/components/ReloadInstructions.js +5 -2
  461. package/Libraries/NewAppScreen/components/logo.png +0 -0
  462. package/Libraries/NewAppScreen/index.js +12 -6
  463. package/Libraries/Performance/NativeJSCSamplingProfiler.js +5 -12
  464. package/Libraries/Performance/SamplingProfiler.js +5 -5
  465. package/Libraries/Performance/Systrace.d.ts +66 -0
  466. package/Libraries/Performance/Systrace.js +116 -171
  467. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +5 -52
  468. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +116 -0
  469. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +60 -23
  470. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  471. package/Libraries/PersonaCoin/PersonaCoin.js +15 -22
  472. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -0
  473. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  474. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +20 -20
  475. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -0
  476. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  477. package/Libraries/PersonaCoin/PersonaCoinTypes.js +24 -24
  478. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -0
  479. package/Libraries/Pressability/HoverState.js +2 -4
  480. package/Libraries/Pressability/HoverState.win32.js +60 -0
  481. package/Libraries/Pressability/Pressability.js +243 -148
  482. package/Libraries/Pressability/Pressability.win32.js +1094 -0
  483. package/Libraries/Pressability/PressabilityDebug.js +31 -27
  484. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
  485. package/Libraries/Pressability/PressabilityTypes.js +18 -0
  486. package/Libraries/Pressability/usePressability.js +25 -11
  487. package/Libraries/Promise.js +5 -35
  488. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +5 -66
  489. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
  490. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +134 -83
  491. package/Libraries/QuirkSettings/CachingNativeQuirkSettings.js +30 -0
  492. package/Libraries/QuirkSettings/NativeQuirkSettings.js +17 -0
  493. package/Libraries/QuirkSettings/QuirkSettings.js +34 -0
  494. package/Libraries/QuirkSettings/Quirks.js +17 -0
  495. package/Libraries/ReactNative/AppContainer-dev.js +208 -0
  496. package/Libraries/ReactNative/AppContainer-prod.js +50 -0
  497. package/Libraries/ReactNative/AppContainer.js +13 -138
  498. package/Libraries/ReactNative/AppRegistry.d.ts +121 -0
  499. package/Libraries/ReactNative/AppRegistry.js +133 -78
  500. package/Libraries/ReactNative/BridgelessUIManager.js +419 -0
  501. package/Libraries/ReactNative/DisplayMode.js +32 -0
  502. package/Libraries/ReactNative/FabricUIManager.js +116 -27
  503. package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -3
  504. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  505. package/Libraries/ReactNative/I18nManager.js +17 -12
  506. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +5 -13
  507. package/Libraries/ReactNative/NativeI18nManager.js +5 -18
  508. package/Libraries/ReactNative/NativeUIManager.js +5 -114
  509. package/Libraries/ReactNative/PaperUIManager.js +79 -52
  510. package/Libraries/ReactNative/PaperUIManager.win32.js +210 -0
  511. package/Libraries/ReactNative/ReactFabricInternals.js +2 -2
  512. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -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 +163 -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/__mocks__/FabricUIManager.js +334 -0
  528. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +35 -0
  529. package/Libraries/ReactNative/getNativeComponentAttributes.js +51 -25
  530. package/Libraries/ReactNative/renderApplication.js +71 -23
  531. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  532. package/Libraries/ReactNative/requireNativeComponent.js +4 -4
  533. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  534. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +66 -11
  535. package/Libraries/Renderer/implementations/ReactFabric-dev.js +16225 -19958
  536. package/Libraries/Renderer/implementations/ReactFabric-prod.js +8087 -5327
  537. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +8773 -5583
  538. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16543 -20582
  539. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +8148 -5386
  540. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +8836 -5645
  541. package/Libraries/Renderer/shims/ReactFabric.js +9 -8
  542. package/Libraries/Renderer/shims/ReactFeatureFlags.js +4 -2
  543. package/Libraries/Renderer/shims/ReactNative.js +4 -3
  544. package/Libraries/Renderer/shims/ReactNativeTypes.js +238 -77
  545. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +27 -37
  546. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +7 -6
  547. package/Libraries/Settings/NativeSettingsManager.js +5 -18
  548. package/Libraries/Settings/Settings.d.ts +18 -0
  549. package/Libraries/Settings/Settings.ios.js +7 -7
  550. package/Libraries/Settings/Settings.js +33 -0
  551. package/Libraries/Share/NativeShareModule.js +5 -16
  552. package/Libraries/Share/Share.d.ts +80 -0
  553. package/Libraries/Share/Share.js +33 -25
  554. package/Libraries/StyleSheet/EdgeInsetsPropType.js +5 -2
  555. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +10 -11
  556. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  557. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +52 -16
  558. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +15 -5
  559. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  560. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +11 -5
  561. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +4 -4
  562. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +2 -4
  563. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +2 -2
  564. package/Libraries/StyleSheet/PointPropType.js +1 -1
  565. package/Libraries/StyleSheet/Rect.js +1 -3
  566. package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
  567. package/Libraries/StyleSheet/StyleSheet.js +42 -56
  568. package/Libraries/StyleSheet/StyleSheet.win32.js +43 -57
  569. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +566 -0
  570. package/Libraries/StyleSheet/StyleSheetTypes.js +444 -130
  571. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +11 -35
  572. package/Libraries/StyleSheet/flattenStyle.js +14 -9
  573. package/Libraries/StyleSheet/normalizeColor.js +11 -370
  574. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  575. package/Libraries/StyleSheet/private/_TransformStyle.js +69 -0
  576. package/Libraries/StyleSheet/processAspectRatio.js +63 -0
  577. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  578. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  579. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  580. package/Libraries/StyleSheet/processColor.js +6 -8
  581. package/Libraries/StyleSheet/processColorArray.js +18 -7
  582. package/Libraries/StyleSheet/processFilter.js +321 -0
  583. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  584. package/Libraries/StyleSheet/processTransform.js +156 -111
  585. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  586. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  587. package/Libraries/StyleSheet/splitLayoutProps.js +57 -49
  588. package/Libraries/Text/Text.d.ts +304 -0
  589. package/Libraries/Text/Text.js +504 -268
  590. package/Libraries/Text/Text.win32.js +590 -0
  591. package/Libraries/Text/TextAncestor.js +7 -2
  592. package/Libraries/Text/TextNativeComponent.js +82 -0
  593. package/Libraries/Text/TextNativeComponent.win32.js +117 -0
  594. package/Libraries/Text/TextProps.js +107 -29
  595. package/Libraries/Text/TextProps.win32.js +281 -0
  596. package/Libraries/TurboModule/RCTExport.d.ts +12 -0
  597. package/Libraries/TurboModule/RCTExport.js +3 -1
  598. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
  599. package/Libraries/TurboModule/TurboModuleRegistry.js +24 -16
  600. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +5 -28
  601. package/Libraries/Types/CodegenTypes.js +9 -2
  602. package/Libraries/Types/CoreEventTypes.d.ts +266 -0
  603. package/Libraries/Types/CoreEventTypes.js +143 -6
  604. package/Libraries/Types/CoreEventTypes.win32.js +342 -0
  605. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  606. package/Libraries/Types/RootTagTypes.js +11 -0
  607. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  608. package/Libraries/UTFSequence.js +6 -4
  609. package/Libraries/Utilities/Appearance.d.ts +53 -0
  610. package/Libraries/Utilities/Appearance.js +116 -63
  611. package/Libraries/Utilities/BackHandler.android.js +14 -23
  612. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  613. package/Libraries/Utilities/BackHandler.ios.js +14 -96
  614. package/Libraries/Utilities/BackHandler.win32.js +107 -7
  615. package/Libraries/Utilities/DebugEnvironment.js +16 -0
  616. package/Libraries/Utilities/DevLoadingView.js +64 -0
  617. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  618. package/Libraries/Utilities/DevSettings.js +55 -48
  619. package/Libraries/Utilities/DeviceInfo.js +1 -3
  620. package/Libraries/Utilities/DeviceInfo.win32.js +0 -2
  621. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  622. package/Libraries/Utilities/Dimensions.js +30 -49
  623. package/Libraries/Utilities/Dimensions.win32.js +106 -18
  624. package/Libraries/Utilities/FeatureDetection.js +31 -0
  625. package/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
  626. package/Libraries/Utilities/FocusManager.win32.js +42 -0
  627. package/Libraries/Utilities/GlobalPerformanceLogger.js +4 -5
  628. package/Libraries/Utilities/HMRClient.js +102 -39
  629. package/Libraries/Utilities/HMRClientProdShim.js +2 -1
  630. package/Libraries/Utilities/IPerformanceLogger.d.ts +48 -0
  631. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  632. package/Libraries/Utilities/NativeAppearance.js +5 -28
  633. package/Libraries/Utilities/NativeDevLoadingView.js +5 -17
  634. package/Libraries/Utilities/NativeDeviceInfo.js +4 -40
  635. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +5 -30
  636. package/Libraries/Utilities/NativePlatformConstantsIOS.js +5 -26
  637. package/Libraries/Utilities/NativePlatformConstantsWin.js +4 -21
  638. package/Libraries/Utilities/PerformanceLoggerContext.js +17 -10
  639. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  640. package/Libraries/Utilities/PixelRatio.js +6 -6
  641. package/Libraries/Utilities/Platform.android.js +37 -16
  642. package/Libraries/Utilities/Platform.d.ts +106 -0
  643. package/Libraries/Utilities/Platform.flow.js +91 -0
  644. package/Libraries/Utilities/Platform.flow.win32.js +124 -0
  645. package/Libraries/Utilities/Platform.ios.js +39 -19
  646. package/Libraries/Utilities/Platform.win32.js +42 -15
  647. package/Libraries/Utilities/PolyfillFunctions.js +6 -6
  648. package/Libraries/Utilities/RCTLog.js +6 -5
  649. package/Libraries/Utilities/ReactNativeTestTools.js +36 -58
  650. package/Libraries/Utilities/SceneTracker.js +6 -5
  651. package/Libraries/Utilities/__mocks__/BackHandler.js +6 -6
  652. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
  653. package/Libraries/Utilities/__mocks__/PixelRatio.js +2 -2
  654. package/Libraries/Utilities/binaryToBase64.js +6 -4
  655. package/Libraries/Utilities/codegenNativeCommands.js +6 -6
  656. package/Libraries/Utilities/codegenNativeComponent.js +24 -14
  657. package/Libraries/Utilities/createPerformanceLogger.js +259 -244
  658. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +12 -6
  659. package/Libraries/Utilities/defineLazyObjectProperty.js +3 -3
  660. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  661. package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
  662. package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
  663. package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
  664. package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
  665. package/Libraries/Utilities/dismissKeyboard.js +1 -1
  666. package/Libraries/Utilities/infoLog.js +3 -2
  667. package/Libraries/Utilities/logError.js +2 -2
  668. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  669. package/Libraries/Utilities/stringifySafe.js +8 -8
  670. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  671. package/Libraries/Utilities/useColorScheme.js +10 -16
  672. package/Libraries/Utilities/useMergeRefs.js +40 -0
  673. package/Libraries/Utilities/useRefEffect.js +45 -0
  674. package/Libraries/Utilities/useWindowDimensions.js +15 -8
  675. package/Libraries/Utilities/warnOnce.js +3 -5
  676. package/Libraries/Vibration/NativeVibration.js +5 -17
  677. package/Libraries/Vibration/Vibration.d.ts +43 -0
  678. package/Libraries/Vibration/Vibration.js +16 -14
  679. package/Libraries/WebSocket/NativeWebSocketModule.js +5 -27
  680. package/Libraries/WebSocket/WebSocket.js +47 -27
  681. package/Libraries/WebSocket/WebSocketEvent.js +5 -2
  682. package/Libraries/WebSocket/WebSocketInterceptor.js +46 -27
  683. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  684. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  685. package/Libraries/YellowBox/YellowBoxDeprecated.js +6 -6
  686. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -3
  687. package/Libraries/__tests__/ButtonWin32-test.js +17 -0
  688. package/Libraries/platform-types.d.ts +25 -0
  689. package/Libraries/promiseRejectionTrackingOptions.js +72 -0
  690. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  691. package/Libraries/vendor/core/ErrorUtils.js +2 -2
  692. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  693. package/Libraries/vendor/emitter/EventEmitter.js +123 -193
  694. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
  695. package/babel.config.js +3 -0
  696. package/flow/HermesInternalType.js +114 -0
  697. package/flow/Position.js +1 -1
  698. package/flow/Stringish.js +1 -1
  699. package/flow/console.js +1 -1
  700. package/flow/global.js +87 -0
  701. package/flow/jest.js +266 -168
  702. package/flow/react.js +15 -0
  703. package/index.js +355 -253
  704. package/index.win32.js +765 -42
  705. package/interface.js +9 -9
  706. package/jest/MockNativeMethods.js +1 -1
  707. package/jest/__tests__/setup-test.js +18 -0
  708. package/jest/assetFileTransformer.js +7 -5
  709. package/jest/local-setup.js +28 -0
  710. package/jest/mockComponent.js +28 -16
  711. package/jest/mockModal.js +32 -0
  712. package/jest/mockNativeComponent.js +40 -0
  713. package/jest/mockScrollView.js +35 -0
  714. package/jest/react-native-env.js +16 -0
  715. package/jest/renderer.js +29 -22
  716. package/jest/setup.js +158 -88
  717. package/jest-snapshot-resolver.js +2 -0
  718. package/jest.config.js +38 -0
  719. package/just-task.js +11 -53
  720. package/metro.config.js +5 -20
  721. package/metroShortPathAssetDataPlugin.js +15 -0
  722. package/overrides.json +534 -0
  723. package/package.json +90 -48
  724. package/react-native.config.js +2 -0
  725. package/rn-get-polyfills.js +3 -6
  726. package/saveAssetPlugin.js +45 -0
  727. package/src/private/animated/NativeAnimatedHelper.js +442 -0
  728. package/src/private/animated/NativeAnimatedHelper.win32.js +444 -0
  729. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  730. package/src/private/animated/useAnimatedPropsMemo.js +349 -0
  731. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  732. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +31 -0
  733. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  734. package/src/private/components/useSyncOnScroll.js +48 -0
  735. package/src/private/devmenu/DevMenu.d.ts +20 -0
  736. package/src/private/devmenu/DevMenu.js +31 -0
  737. package/src/private/featureflags/ReactNativeFeatureFlags.js +399 -0
  738. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +109 -0
  739. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +84 -0
  740. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  741. package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
  742. package/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js +20 -0
  743. package/src/private/reactdevtools/ReactDevToolsSettingsManager.ios.js +30 -0
  744. package/src/private/reactdevtools/ReactDevToolsSettingsManager.win32.js +20 -0
  745. package/src/private/renderer/errorhandling/ErrorHandlers.js +126 -0
  746. package/src/private/setup/setUpDOM.js +28 -0
  747. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  748. package/src/private/setup/setUpMutationObserver.js +26 -0
  749. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  750. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  751. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  752. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +27 -0
  753. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  754. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  755. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  756. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  757. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  758. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  759. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  760. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  761. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  762. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  763. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  764. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
  765. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  766. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  767. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  768. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  769. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  770. package/src/private/specs/modules/NativeAppState.js +33 -0
  771. package/src/private/specs/modules/NativeAppearance.js +36 -0
  772. package/src/private/specs/modules/NativeBlobModule.js +61 -0
  773. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  774. package/src/private/specs/modules/NativeClipboard.js +21 -0
  775. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  776. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  777. package/src/private/specs/modules/NativeDevSettings.js +34 -0
  778. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  779. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  780. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  781. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  782. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  783. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  784. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  785. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  786. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  787. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  788. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  789. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  790. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  791. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  792. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  793. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  794. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  795. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  796. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  797. package/src/private/specs/modules/NativeLogBox.js +20 -0
  798. package/src/private/specs/modules/NativeModalManager.js +21 -0
  799. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  800. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  801. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  802. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  803. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  804. package/src/private/specs/modules/NativePlatformConstantsWin.js +44 -0
  805. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
  806. package/src/private/specs/modules/NativeReactDevToolsSettingsManager.js +22 -0
  807. package/src/private/specs/modules/NativeRedBox.js +20 -0
  808. package/src/private/specs/modules/NativeSampleTurboModule.js +66 -0
  809. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  810. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  811. package/src/private/specs/modules/NativeShareModule.js +23 -0
  812. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  813. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  814. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  815. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  816. package/src/private/specs/modules/NativeTiming.js +26 -0
  817. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  818. package/src/private/specs/modules/NativeUIManager.js +111 -0
  819. package/src/private/specs/modules/NativeVibration.js +24 -0
  820. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  821. package/src/private/styles/composeStyles.js +27 -0
  822. package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
  823. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
  824. package/src/private/webapis/dom/nodes/ReactNativeElement.js +189 -0
  825. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +71 -0
  826. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
  827. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +359 -0
  828. package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
  829. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  830. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
  831. package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
  832. package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
  833. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
  834. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
  835. package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
  836. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
  837. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +254 -0
  838. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +141 -0
  839. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +276 -0
  840. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +41 -0
  841. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +172 -0
  842. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
  843. package/src/private/webapis/mutationobserver/MutationObserver.js +186 -0
  844. package/src/private/webapis/mutationobserver/MutationObserverManager.js +227 -0
  845. package/src/private/webapis/mutationobserver/MutationRecord.js +82 -0
  846. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +58 -0
  847. package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +327 -0
  848. package/src/private/webapis/performance/EventTiming.js +140 -0
  849. package/src/private/webapis/performance/LongTasks.js +39 -0
  850. package/src/private/webapis/performance/MemoryInfo.js +54 -0
  851. package/src/private/webapis/performance/Performance.js +288 -0
  852. package/src/private/webapis/performance/PerformanceEntry.js +71 -0
  853. package/src/private/webapis/performance/PerformanceObserver.js +244 -0
  854. package/src/private/webapis/performance/RawPerformanceEntry.js +105 -0
  855. package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
  856. package/src/private/webapis/performance/UserTiming.js +68 -0
  857. package/src/private/webapis/performance/Utilities.js +25 -0
  858. package/src/private/webapis/performance/specs/NativePerformance.js +34 -0
  859. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +69 -0
  860. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +69 -0
  861. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +154 -0
  862. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  863. package/src-win/Libraries/Components/Button/ButtonWin32.Props.ts +45 -0
  864. package/src-win/Libraries/Components/Button/ButtonWin32.tsx +94 -0
  865. package/src-win/Libraries/Components/EnterString.win32.tsx +110 -0
  866. package/src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx +185 -0
  867. package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +502 -0
  868. package/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
  869. package/src-win/Libraries/Components/Touchable/TouchableWin32.Props.tsx +46 -0
  870. package/src-win/Libraries/Components/Touchable/TouchableWin32.Types.tsx +137 -0
  871. package/src-win/Libraries/Components/Touchable/TouchableWin32.tsx +624 -0
  872. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +566 -0
  873. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
  874. package/src-win/Libraries/Components/View/ViewWin32.d.ts +30 -0
  875. package/src-win/Libraries/Image/ImageTypes.ts +27 -0
  876. package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +22 -0
  877. package/src-win/Libraries/Image/Tests/img/dpitest.png +0 -0
  878. package/src-win/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  879. package/src-win/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  880. package/src-win/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  881. package/src-win/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  882. package/src-win/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  883. package/src-win/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  884. package/src-win/Libraries/PersonaCoin/PersonaCoin.tsx +12 -0
  885. package/src-win/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +17 -0
  886. package/src-win/Libraries/PersonaCoin/PersonaCoinTypes.ts +36 -0
  887. package/src-win/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +38 -0
  888. package/src-win/Libraries/Text/Text.d.ts +304 -0
  889. package/src-win/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
  890. package/src-win/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
  891. package/src-win/Libraries/platform-types.d.ts +25 -0
  892. package/types/experimental.d.ts +59 -0
  893. package/types/index.d.ts +218 -0
  894. package/types/modules/BatchedBridge.d.ts +32 -0
  895. package/types/modules/Codegen.d.ts +80 -0
  896. package/types/modules/Devtools.d.ts +32 -0
  897. package/types/modules/LaunchScreen.d.ts +18 -0
  898. package/types/modules/globals.d.ts +599 -0
  899. package/types/private/TimerMixin.d.ts +19 -0
  900. package/types/private/Utilities.d.ts +10 -0
  901. package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
  902. package/types/public/Insets.d.ts +15 -0
  903. package/types/public/ReactNativeRenderer.d.ts +144 -0
  904. package/types/public/ReactNativeTypes.d.ts +139 -0
  905. package/IntegrationTests/AsyncStorageTest.js +0 -217
  906. package/IntegrationTests/PropertiesUpdateTest.js +0 -29
  907. package/IntegrationTests/RCTRootViewIntegrationTestApp.js +0 -92
  908. package/IntegrationTests/ReactContentSizeUpdateTest.js +0 -91
  909. package/IntegrationTests/SizeFlexibilityUpdateTest.js +0 -108
  910. package/IntegrationTests/launchWebSocketServer.command +0 -18
  911. package/Libraries/Animated/examples/demo.html +0 -712
  912. package/Libraries/Animated/examples/pic1.jpg +0 -0
  913. package/Libraries/Animated/examples/pic2.jpg +0 -0
  914. package/Libraries/Animated/examples/pic3.jpg +0 -0
  915. package/Libraries/Animated/release/gulpfile.js +0 -155
  916. package/Libraries/Animated/src/Animated.js +0 -49
  917. package/Libraries/Animated/src/AnimatedEvent.js +0 -233
  918. package/Libraries/Animated/src/AnimatedImplementation.js +0 -712
  919. package/Libraries/Animated/src/AnimatedMock.js +0 -156
  920. package/Libraries/Animated/src/AnimatedWeb.js +0 -23
  921. package/Libraries/Animated/src/Easing.js +0 -252
  922. package/Libraries/Animated/src/NativeAnimatedHelper.js +0 -342
  923. package/Libraries/Animated/src/NativeAnimatedModule.js +0 -66
  924. package/Libraries/Animated/src/SpringConfig.js +0 -103
  925. package/Libraries/Animated/src/animations/Animation.js +0 -73
  926. package/Libraries/Animated/src/animations/DecayAnimation.js +0 -120
  927. package/Libraries/Animated/src/animations/SpringAnimation.js +0 -359
  928. package/Libraries/Animated/src/animations/TimingAnimation.js +0 -165
  929. package/Libraries/Animated/src/bezier.js +0 -153
  930. package/Libraries/Animated/src/components/AnimatedFlatList.js +0 -32
  931. package/Libraries/Animated/src/components/AnimatedImage.js +0 -25
  932. package/Libraries/Animated/src/components/AnimatedScrollView.js +0 -32
  933. package/Libraries/Animated/src/components/AnimatedSectionList.js +0 -32
  934. package/Libraries/Animated/src/components/AnimatedText.js +0 -25
  935. package/Libraries/Animated/src/components/AnimatedView.js +0 -23
  936. package/Libraries/Animated/src/createAnimatedComponent.js +0 -223
  937. package/Libraries/Animated/src/nodes/AnimatedAddition.js +0 -63
  938. package/Libraries/Animated/src/nodes/AnimatedDiffClamp.js +0 -71
  939. package/Libraries/Animated/src/nodes/AnimatedDivision.js +0 -68
  940. package/Libraries/Animated/src/nodes/AnimatedInterpolation.js +0 -373
  941. package/Libraries/Animated/src/nodes/AnimatedModulo.js +0 -62
  942. package/Libraries/Animated/src/nodes/AnimatedMultiplication.js +0 -63
  943. package/Libraries/Animated/src/nodes/AnimatedNode.js +0 -184
  944. package/Libraries/Animated/src/nodes/AnimatedProps.js +0 -176
  945. package/Libraries/Animated/src/nodes/AnimatedStyle.js +0 -127
  946. package/Libraries/Animated/src/nodes/AnimatedSubtraction.js +0 -63
  947. package/Libraries/Animated/src/nodes/AnimatedTracking.js +0 -102
  948. package/Libraries/Animated/src/nodes/AnimatedTransform.js +0 -121
  949. package/Libraries/Animated/src/nodes/AnimatedValue.js +0 -265
  950. package/Libraries/Animated/src/nodes/AnimatedValueXY.js +0 -226
  951. package/Libraries/Animated/src/nodes/AnimatedWithChildren.js +0 -87
  952. package/Libraries/Animated/src/polyfills/InteractionManager.js +0 -15
  953. package/Libraries/Animated/src/polyfills/Set.js +0 -26
  954. package/Libraries/Animated/src/polyfills/flattenStyle.js +0 -13
  955. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -162
  956. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -271
  957. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.win32.js +0 -33
  958. package/Libraries/Components/AppleTV/NativeTVNavigationEventEmitter.js +0 -23
  959. package/Libraries/Components/AppleTV/TVEventHandler.js +0 -52
  960. package/Libraries/Components/CheckBox/AndroidCheckBoxNativeComponent.js +0 -74
  961. package/Libraries/Components/CheckBox/CheckBox.android.js +0 -228
  962. package/Libraries/Components/CheckBox/CheckBox.ios.js +0 -13
  963. package/Libraries/Components/CheckBox/CheckBox.win32.js +0 -12
  964. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -46
  965. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -189
  966. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -46
  967. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  968. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -89
  969. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  970. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.win32.js +0 -30
  971. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  972. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -22
  973. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +0 -12
  974. package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +0 -13
  975. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  976. package/Libraries/Components/MaskedView/MaskedViewIOS.win32.js +0 -13
  977. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  978. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -68
  979. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -68
  980. package/Libraries/Components/Picker/Picker.js +0 -159
  981. package/Libraries/Components/Picker/Picker.win32.d.ts +0 -1
  982. package/Libraries/Components/Picker/Picker.win32.js +0 -80
  983. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -146
  984. package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
  985. package/Libraries/Components/Picker/PickerAndroid.js +0 -12
  986. package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
  987. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
  988. package/Libraries/Components/Picker/PickerIOS.js +0 -14
  989. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -63
  990. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +0 -12
  991. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -46
  992. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -77
  993. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -8
  994. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -35
  995. package/Libraries/Components/ScrollResponder.js +0 -773
  996. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -77
  997. package/Libraries/Components/ScrollView/__mocks__/ScrollViewMock.js +0 -39
  998. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -46
  999. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -46
  1000. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  1001. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.js +0 -46
  1002. package/Libraries/Components/Slider/Slider.js +0 -276
  1003. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -60
  1004. package/Libraries/Components/StaticContainer.react.js +0 -51
  1005. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -22
  1006. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -26
  1007. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  1008. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  1009. package/Libraries/Components/Text/TextWin32.js +0 -41
  1010. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -84
  1011. package/Libraries/Components/TextInput/RCTSinglelineTextInputViewConfig.js +0 -134
  1012. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +0 -51
  1013. package/Libraries/Components/TextInput/TextInput.Types.win32.js +0 -3
  1014. package/Libraries/Components/TextInput/TextInput.win32.d.ts +0 -68
  1015. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +0 -39
  1016. package/Libraries/Components/Touchable/TVTouchable.js +0 -55
  1017. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.d.ts +0 -7
  1018. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.js +0 -3
  1019. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.d.ts +0 -16
  1020. package/Libraries/Components/Touchable/__mocks__/ensureComponentIsNative.js +0 -12
  1021. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
  1022. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -347
  1023. package/Libraries/Components/View/ReactNativeViewViewConfig.win32.js +0 -384
  1024. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -74
  1025. package/Libraries/Components/View/Tests/ViewWin32Test.d.ts +0 -8
  1026. package/Libraries/Components/View/Tests/ViewWin32Test.js +0 -235
  1027. package/Libraries/Components/View/ViewWin32.Props.d.ts +0 -149
  1028. package/Libraries/Components/View/ViewWin32.Props.js +0 -11
  1029. package/Libraries/Core/setUpSystrace.js +0 -21
  1030. package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
  1031. package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
  1032. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.js +0 -82
  1033. package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
  1034. package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
  1035. package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
  1036. package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
  1037. package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
  1038. package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
  1039. package/Libraries/DeprecatedPropTypes/DeprecatedTVViewPropTypes.js +0 -23
  1040. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
  1041. package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
  1042. package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
  1043. package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
  1044. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -44
  1045. package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
  1046. package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
  1047. package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
  1048. package/Libraries/Image/ImagePickerIOS.js +0 -105
  1049. package/Libraries/Image/ImageViewViewConfig.js +0 -68
  1050. package/Libraries/Image/NativeImagePickerIOS.js +0 -40
  1051. package/Libraries/Image/assetPathUtils.js +0 -91
  1052. package/Libraries/Interaction/Batchinator.js +0 -76
  1053. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -62
  1054. package/Libraries/Interaction/InteractionMixin.js +0 -55
  1055. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  1056. package/Libraries/Linking/NativeLinking.js +0 -41
  1057. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -21
  1058. package/Libraries/Performance/PureComponentDebug.js +0 -73
  1059. package/Libraries/Performance/QuickPerformanceLogger.js +0 -101
  1060. package/Libraries/ReactNative/DummyUIManager.js +0 -123
  1061. package/Libraries/ReactNative/RootTagContext.js +0 -15
  1062. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  1063. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -20493
  1064. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -7440
  1065. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -7718
  1066. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -21091
  1067. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -7677
  1068. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -7955
  1069. package/Libraries/Renderer/shims/ReactTypes.js +0 -192
  1070. package/Libraries/Settings/Settings.android.js +0 -33
  1071. package/Libraries/Storage/AsyncStorage.js +0 -360
  1072. package/Libraries/Storage/NativeAsyncStorage.js +0 -44
  1073. package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.android.js +0 -18
  1074. package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.js +0 -17
  1075. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -97
  1076. package/Libraries/StyleSheet/StyleSheetValidation.win32.js +0 -102
  1077. package/Libraries/Utilities/BackHandler.win32.d.ts +0 -2
  1078. package/Libraries/Utilities/JSDevSupportModule.js +0 -40
  1079. package/Libraries/Utilities/LoadingView.android.js +0 -29
  1080. package/Libraries/Utilities/LoadingView.ios.js +0 -40
  1081. package/Libraries/Utilities/LoadingView.js +0 -16
  1082. package/Libraries/Utilities/MatrixMath.js +0 -752
  1083. package/Libraries/Utilities/NativeJSDevSupport.js +0 -25
  1084. package/Libraries/Utilities/buildStyleInterpolator.js +0 -211
  1085. package/Libraries/Utilities/clamp.js +0 -23
  1086. package/Libraries/Utilities/deprecatedPropType.js +0 -38
  1087. package/Libraries/Utilities/groupByEveryN.js +0 -51
  1088. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  1089. package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
  1090. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  1091. package/Libraries/Utilities/truncate.js +0 -51
  1092. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -134
  1093. package/Libraries/polyfills/Object.es7.js +0 -58
  1094. package/Libraries/polyfills/console.js +0 -641
  1095. package/Libraries/polyfills/error-guard.js +0 -115
  1096. package/Libraries/promiseRejectionIsError.js +0 -24
  1097. package/Libraries/vendor/emitter/EmitterSubscription.js +0 -59
  1098. package/Libraries/vendor/emitter/EventSubscription.js +0 -40
  1099. package/Libraries/vendor/emitter/EventSubscriptionVendor.js +0 -101
  1100. package/RNTester/APIExamples/AccessibilityExampleWin32.d.ts +0 -8
  1101. package/RNTester/APIExamples/AccessibilityExampleWin32.js +0 -262
  1102. package/RNTester/APIExamples/ThemingModuleAPI.d.ts +0 -8
  1103. package/RNTester/APIExamples/ThemingModuleAPI.js +0 -80
  1104. package/RNTester/js/RNTesterApp.android.js +0 -363
  1105. package/RNTester/js/RNTesterApp.ios.js +0 -272
  1106. package/RNTester/js/RNTesterApp.win32.js +0 -285
  1107. package/RNTester/js/assets/bandaged.png +0 -0
  1108. package/RNTester/js/assets/bunny.png +0 -0
  1109. package/RNTester/js/assets/call.png +0 -0
  1110. package/RNTester/js/assets/dislike.png +0 -0
  1111. package/RNTester/js/assets/fist.png +0 -0
  1112. package/RNTester/js/assets/flowers.png +0 -0
  1113. package/RNTester/js/assets/flux@3x.png +0 -0
  1114. package/RNTester/js/assets/hawk.png +0 -0
  1115. package/RNTester/js/assets/heart.png +0 -0
  1116. package/RNTester/js/assets/helloworld.html +0 -25
  1117. package/RNTester/js/assets/imageMask.png +0 -0
  1118. package/RNTester/js/assets/like.png +0 -0
  1119. package/RNTester/js/assets/liking.png +0 -0
  1120. package/RNTester/js/assets/messagingtest.html +0 -28
  1121. package/RNTester/js/assets/party.png +0 -0
  1122. package/RNTester/js/assets/poke.png +0 -0
  1123. package/RNTester/js/assets/relay@3x.png +0 -0
  1124. package/RNTester/js/assets/slider-left.png +0 -0
  1125. package/RNTester/js/assets/slider-left@2x.png +0 -0
  1126. package/RNTester/js/assets/slider-right.png +0 -0
  1127. package/RNTester/js/assets/slider-right@2x.png +0 -0
  1128. package/RNTester/js/assets/slider.png +0 -0
  1129. package/RNTester/js/assets/slider@2x.png +0 -0
  1130. package/RNTester/js/assets/superlike.png +0 -0
  1131. package/RNTester/js/assets/trees.jpg +0 -0
  1132. package/RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif +0 -0
  1133. package/RNTester/js/assets/uie_comment_highlighted@2x.png +0 -0
  1134. package/RNTester/js/assets/uie_comment_normal@2x.png +0 -0
  1135. package/RNTester/js/assets/uie_thumb_big.png +0 -0
  1136. package/RNTester/js/assets/uie_thumb_normal@2x.png +0 -0
  1137. package/RNTester/js/assets/uie_thumb_selected@2x.png +0 -0
  1138. package/RNTester/js/assets/victory.png +0 -0
  1139. package/RNTester/js/components/ListExampleShared.js +0 -377
  1140. package/RNTester/js/components/ListExampleShared.win32.js +0 -384
  1141. package/RNTester/js/components/RNTesterBlock.js +0 -105
  1142. package/RNTester/js/components/RNTesterButton.js +0 -50
  1143. package/RNTester/js/components/RNTesterExampleContainer.js +0 -80
  1144. package/RNTester/js/components/RNTesterExampleFilter.js +0 -120
  1145. package/RNTester/js/components/RNTesterExampleFilter.win32.js +0 -120
  1146. package/RNTester/js/components/RNTesterExampleList.js +0 -254
  1147. package/RNTester/js/components/RNTesterPage.js +0 -76
  1148. package/RNTester/js/components/RNTesterSettingSwitchRow.js +0 -60
  1149. package/RNTester/js/components/RNTesterTheme.js +0 -90
  1150. package/RNTester/js/components/RNTesterTitle.js +0 -58
  1151. package/RNTester/js/components/TextInlineView.js +0 -207
  1152. package/RNTester/js/components/TextLegend.js +0 -248
  1153. package/RNTester/js/components/createExamplePage.js +0 -31
  1154. package/RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js +0 -177
  1155. package/RNTester/js/examples/Accessibility/AccessibilityExample.js +0 -792
  1156. package/RNTester/js/examples/Accessibility/AccessibilityIOSExample.js +0 -72
  1157. package/RNTester/js/examples/Accessibility/check.png +0 -0
  1158. package/RNTester/js/examples/Accessibility/mixed.png +0 -0
  1159. package/RNTester/js/examples/Accessibility/uncheck.png +0 -0
  1160. package/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +0 -342
  1161. package/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js +0 -162
  1162. package/RNTester/js/examples/Alert/AlertExample.js +0 -158
  1163. package/RNTester/js/examples/Alert/AlertIOSExample.js +0 -204
  1164. package/RNTester/js/examples/Animated/AnimatedExample.js +0 -347
  1165. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExApp.js +0 -407
  1166. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExBobble.js +0 -171
  1167. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExChained.js +0 -120
  1168. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExScroll.js +0 -124
  1169. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExSet.js +0 -149
  1170. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExSlides.md +0 -107
  1171. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExTilt.js +0 -154
  1172. package/RNTester/js/examples/AppState/AppStateExample.js +0 -106
  1173. package/RNTester/js/examples/Appearance/AppearanceExample.js +0 -219
  1174. package/RNTester/js/examples/AsyncStorage/AsyncStorageExample.js +0 -103
  1175. package/RNTester/js/examples/Border/BorderExample.js +0 -301
  1176. package/RNTester/js/examples/BoxShadow/BoxShadowExample.js +0 -100
  1177. package/RNTester/js/examples/Button/ButtonExample.js +0 -127
  1178. package/RNTester/js/examples/CheckBox/CheckBoxExample.js +0 -148
  1179. package/RNTester/js/examples/Clipboard/ClipboardExample.js +0 -68
  1180. package/RNTester/js/examples/ColorGradientWin32Example.js +0 -109
  1181. package/RNTester/js/examples/Crash/CrashExample.js +0 -52
  1182. package/RNTester/js/examples/DatePicker/DatePickerAndroidExample.js +0 -170
  1183. package/RNTester/js/examples/DatePicker/DatePickerIOSExample.js +0 -150
  1184. package/RNTester/js/examples/DevSettings/DevSettingsExample.js +0 -47
  1185. package/RNTester/js/examples/Dimensions/DimensionsExample.js +0 -68
  1186. package/RNTester/js/examples/FlatList/FlatListExample.js +0 -287
  1187. package/RNTester/js/examples/Image/ImageCapInsetsExample.js +0 -68
  1188. package/RNTester/js/examples/Image/ImageExample.js +0 -955
  1189. package/RNTester/js/examples/InputAccessoryView/InputAccessoryViewExample.js +0 -121
  1190. package/RNTester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js +0 -77
  1191. package/RNTester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js +0 -120
  1192. package/RNTester/js/examples/Layout/LayoutAnimationExample.js +0 -221
  1193. package/RNTester/js/examples/Layout/LayoutEventsExample.js +0 -165
  1194. package/RNTester/js/examples/Layout/LayoutExample.js +0 -206
  1195. package/RNTester/js/examples/Linking/LinkingExample.js +0 -128
  1196. package/RNTester/js/examples/MaskedView/MaskedViewExample.js +0 -236
  1197. package/RNTester/js/examples/Modal/ModalExample.js +0 -283
  1198. package/RNTester/js/examples/MultiColumn/MultiColumnExample.js +0 -189
  1199. package/RNTester/js/examples/NativeAnimation/NativeAnimationsExample.js +0 -702
  1200. package/RNTester/js/examples/NewAppScreen/NewAppScreenExample.js +0 -77
  1201. package/RNTester/js/examples/OrientationChange/OrientationChangeExample.js +0 -66
  1202. package/RNTester/js/examples/PanResponder/PanResponderExample.js +0 -154
  1203. package/RNTester/js/examples/PermissionsAndroid/PermissionsExample.js +0 -130
  1204. package/RNTester/js/examples/Picker/PickerExample.js +0 -220
  1205. package/RNTester/js/examples/Picker/PickerIOSExample.js +0 -190
  1206. package/RNTester/js/examples/PlatformColor/PlatformColorExample.js +0 -355
  1207. package/RNTester/js/examples/PointerEvents/PointerEventsExample.js +0 -240
  1208. package/RNTester/js/examples/Pressable/PressableExample.js +0 -426
  1209. package/RNTester/js/examples/ProgressBarAndroid/ProgressBarAndroidExample.android.js +0 -94
  1210. package/RNTester/js/examples/ProgressViewIOS/ProgressViewIOSExample.js +0 -103
  1211. package/RNTester/js/examples/PushNotificationIOS/PushNotificationIOSExample.js +0 -267
  1212. package/RNTester/js/examples/RCTRootView/RCTRootViewIOSExample.js +0 -95
  1213. package/RNTester/js/examples/RTL/RTLExample.js +0 -747
  1214. package/RNTester/js/examples/RefreshControl/RefreshControlExample.js +0 -127
  1215. package/RNTester/js/examples/RootViewSizeFlexibilityExample/RootViewSizeFlexibilityExampleApp.js +0 -68
  1216. package/RNTester/js/examples/SafeAreaView/SafeAreaViewExample.js +0 -137
  1217. package/RNTester/js/examples/ScrollView/ScrollViewAnimatedExample.js +0 -107
  1218. package/RNTester/js/examples/ScrollView/ScrollViewExample.js +0 -346
  1219. package/RNTester/js/examples/ScrollView/ScrollViewSimpleExample.js +0 -105
  1220. package/RNTester/js/examples/SectionList/SectionListExample.js +0 -301
  1221. package/RNTester/js/examples/SegmentedControlIOS/SegmentedControlIOSExample.js +0 -183
  1222. package/RNTester/js/examples/SetPropertiesExample/SetPropertiesExampleApp.js +0 -34
  1223. package/RNTester/js/examples/Share/ShareExample.js +0 -124
  1224. package/RNTester/js/examples/Slider/SliderExample.js +0 -136
  1225. package/RNTester/js/examples/Snapshot/SnapshotExample.js +0 -69
  1226. package/RNTester/js/examples/Snapshot/SnapshotViewIOS.android.js +0 -12
  1227. package/RNTester/js/examples/Snapshot/SnapshotViewIOS.ios.js +0 -67
  1228. package/RNTester/js/examples/StatusBar/StatusBarExample.js +0 -522
  1229. package/RNTester/js/examples/Switch/SwitchExample.js +0 -239
  1230. package/RNTester/js/examples/TVEventHandler/TVEventHandlerExample.js +0 -88
  1231. package/RNTester/js/examples/Text/TextExample.android.js +0 -864
  1232. package/RNTester/js/examples/Text/TextExample.ios.js +0 -1153
  1233. package/RNTester/js/examples/TextInput/TextInputExample.android.js +0 -424
  1234. package/RNTester/js/examples/TextInput/TextInputExample.ios.js +0 -710
  1235. package/RNTester/js/examples/TextInput/TextInputSharedExamples.js +0 -618
  1236. package/RNTester/js/examples/Timer/TimerExample.js +0 -373
  1237. package/RNTester/js/examples/ToastAndroid/ToastAndroidExample.android.js +0 -136
  1238. package/RNTester/js/examples/Touchable/TouchableExample.js +0 -664
  1239. package/RNTester/js/examples/Transform/TransformExample.js +0 -336
  1240. package/RNTester/js/examples/TransparentHitTest/TransparentHitTestExample.js +0 -50
  1241. package/RNTester/js/examples/TurboModule/SampleTurboModuleExample.js +0 -190
  1242. package/RNTester/js/examples/TurboModule/TurboModuleExample.js +0 -26
  1243. package/RNTester/js/examples/Vibration/VibrationExample.js +0 -127
  1244. package/RNTester/js/examples/View/ViewExample.js +0 -471
  1245. package/RNTester/js/examples/WebSocket/WebSocketExample.js +0 -356
  1246. package/RNTester/js/examples/WebSocket/http_test_server.js +0 -33
  1247. package/RNTester/js/examples/WebSocket/websocket_test_server.js +0 -46
  1248. package/RNTester/js/examples/XHR/XHRExample.js +0 -62
  1249. package/RNTester/js/examples/XHR/XHRExampleAbortController.js +0 -58
  1250. package/RNTester/js/examples/XHR/XHRExampleBinaryUpload.js +0 -149
  1251. package/RNTester/js/examples/XHR/XHRExampleDownload.js +0 -242
  1252. package/RNTester/js/examples/XHR/XHRExampleFetch.js +0 -133
  1253. package/RNTester/js/examples/XHR/XHRExampleHeaders.js +0 -114
  1254. package/RNTester/js/examples/XHR/XHRExampleOnTimeOut.js +0 -99
  1255. package/RNTester/js/types/RNTesterTypes.js +0 -47
  1256. package/RNTester/js/utils/RNTesterActions.js +0 -53
  1257. package/RNTester/js/utils/RNTesterList.android.js +0 -257
  1258. package/RNTester/js/utils/RNTesterList.ios.js +0 -366
  1259. package/RNTester/js/utils/RNTesterList.win32.js +0 -240
  1260. package/RNTester/js/utils/RNTesterNavigationReducer.js +0 -49
  1261. package/RNTester/js/utils/RNTesterStatePersister.js +0 -86
  1262. package/RNTester/js/utils/URIActionMap.js +0 -48
  1263. package/api-extractor.json +0 -25
  1264. package/demo/DocPagePropsList.d.ts +0 -18
  1265. package/demo/DocPagePropsList.js +0 -7
  1266. package/demo/DocPagePropsList.js.map +0 -1
  1267. package/docs/api/index.md +0 -12
  1268. package/docs/api/react-native-win32.accessibilityactionevent.md +0 -13
  1269. package/docs/api/react-native-win32.accessibilityactioninfo.md +0 -14
  1270. package/docs/api/react-native-win32.accessibilityactionname.md +0 -11
  1271. package/docs/api/react-native-win32.accessibilityannotationinfo.md +0 -16
  1272. package/docs/api/react-native-win32.accessibilitystate.md +0 -14
  1273. package/docs/api/react-native-win32.annotationtype.md +0 -11
  1274. package/docs/api/react-native-win32.ariarole.md +0 -11
  1275. package/docs/api/react-native-win32.basepropswin32.md +0 -17
  1276. package/docs/api/react-native-win32.buttonwin32._constructor_.md +0 -20
  1277. package/docs/api/react-native-win32.buttonwin32.md +0 -27
  1278. package/docs/api/react-native-win32.buttonwin32.render.md +0 -15
  1279. package/docs/api/react-native-win32.buttonwin32omitstyles.md +0 -11
  1280. package/docs/api/react-native-win32.colorgradientwin32.md +0 -15
  1281. package/docs/api/react-native-win32.cursor.md +0 -11
  1282. package/docs/api/react-native-win32.eventphase.md +0 -21
  1283. package/docs/api/react-native-win32.gradientcolorstop.md +0 -16
  1284. package/docs/api/react-native-win32.gradientcolorvaluewin32.md +0 -16
  1285. package/docs/api/react-native-win32.ibuttonwin32props.md +0 -25
  1286. package/docs/api/react-native-win32.ibuttonwin32props.onblur.md +0 -13
  1287. package/docs/api/react-native-win32.ibuttonwin32props.onfocus.md +0 -13
  1288. package/docs/api/react-native-win32.ibuttonwin32props.onmouseenter.md +0 -13
  1289. package/docs/api/react-native-win32.ibuttonwin32props.onmouseleave.md +0 -13
  1290. package/docs/api/react-native-win32.ibuttonwin32props.ontouchend.md +0 -13
  1291. package/docs/api/react-native-win32.ibuttonwin32props.ontouchstart.md +0 -13
  1292. package/docs/api/react-native-win32.ibuttonwin32props.style.md +0 -13
  1293. package/docs/api/react-native-win32.ibuttonwin32style.md +0 -13
  1294. package/docs/api/react-native-win32.ichildasfunction.md +0 -13
  1295. package/docs/api/react-native-win32.idimensions.height.md +0 -11
  1296. package/docs/api/react-native-win32.idimensions.md +0 -21
  1297. package/docs/api/react-native-win32.idimensions.width.md +0 -11
  1298. package/docs/api/react-native-win32.ihandledkeyboardevent.md +0 -11
  1299. package/docs/api/react-native-win32.ikeyboardevent.md +0 -11
  1300. package/docs/api/react-native-win32.inativekeyboardevent.altkey.md +0 -11
  1301. package/docs/api/react-native-win32.inativekeyboardevent.ctrlkey.md +0 -11
  1302. package/docs/api/react-native-win32.inativekeyboardevent.eventphase.md +0 -11
  1303. package/docs/api/react-native-win32.inativekeyboardevent.key.md +0 -11
  1304. package/docs/api/react-native-win32.inativekeyboardevent.md +0 -23
  1305. package/docs/api/react-native-win32.inativekeyboardevent.metakey.md +0 -11
  1306. package/docs/api/react-native-win32.inativekeyboardevent.shiftkey.md +0 -11
  1307. package/docs/api/react-native-win32.ipersonacoinprops.brandiconsource.md +0 -11
  1308. package/docs/api/react-native-win32.ipersonacoinprops.color.md +0 -11
  1309. package/docs/api/react-native-win32.ipersonacoinprops.disabled.md +0 -11
  1310. package/docs/api/react-native-win32.ipersonacoinprops.displayname.md +0 -11
  1311. package/docs/api/react-native-win32.ipersonacoinprops.emailaddress.md +0 -11
  1312. package/docs/api/react-native-win32.ipersonacoinprops.initials.md +0 -11
  1313. package/docs/api/react-native-win32.ipersonacoinprops.md +0 -29
  1314. package/docs/api/react-native-win32.ipersonacoinprops.onerror.md +0 -11
  1315. package/docs/api/react-native-win32.ipersonacoinprops.onload.md +0 -11
  1316. package/docs/api/react-native-win32.ipersonacoinprops.presence.md +0 -11
  1317. package/docs/api/react-native-win32.ipersonacoinprops.size.md +0 -11
  1318. package/docs/api/react-native-win32.ipersonacoinprops.source.md +0 -11
  1319. package/docs/api/react-native-win32.iposition.left.md +0 -11
  1320. package/docs/api/react-native-win32.iposition.md +0 -21
  1321. package/docs/api/react-native-win32.iposition.top.md +0 -11
  1322. package/docs/api/react-native-win32.ipressevent.md +0 -24
  1323. package/docs/api/react-native-win32.ipressinlocation.locationx.md +0 -11
  1324. package/docs/api/react-native-win32.ipressinlocation.locationy.md +0 -11
  1325. package/docs/api/react-native-win32.ipressinlocation.md +0 -23
  1326. package/docs/api/react-native-win32.ipressinlocation.pagex.md +0 -11
  1327. package/docs/api/react-native-win32.ipressinlocation.pagey.md +0 -11
  1328. package/docs/api/react-native-win32.irenderchild.md +0 -13
  1329. package/docs/api/react-native-win32.irenderstyle.md +0 -13
  1330. package/docs/api/react-native-win32.irespondersyntheticevent.md +0 -21
  1331. package/docs/api/react-native-win32.irespondersyntheticevent.touchhistory.md +0 -16
  1332. package/docs/api/react-native-win32.isignal.md +0 -13
  1333. package/docs/api/react-native-win32.istate.md +0 -13
  1334. package/docs/api/react-native-win32.istateconditions.md +0 -15
  1335. package/docs/api/react-native-win32.itextwin32props.md +0 -20
  1336. package/docs/api/react-native-win32.itextwin32props.textstyle.md +0 -25
  1337. package/docs/api/react-native-win32.itextwin32props.tooltip.md +0 -13
  1338. package/docs/api/react-native-win32.itouchablewin32props.children.md +0 -11
  1339. package/docs/api/react-native-win32.itouchablewin32props.disabled.md +0 -11
  1340. package/docs/api/react-native-win32.itouchablewin32props.filterkeys.md +0 -13
  1341. package/docs/api/react-native-win32.itouchablewin32props.md +0 -36
  1342. package/docs/api/react-native-win32.itouchablewin32props.onlongpress.md +0 -11
  1343. package/docs/api/react-native-win32.itouchablewin32props.rejectrespondertermination.md +0 -11
  1344. package/docs/api/react-native-win32.itouchablewin32props.renderstyle.md +0 -11
  1345. package/docs/api/react-native-win32.itouchablewin32props.touchablegethighlightdelayms.md +0 -11
  1346. package/docs/api/react-native-win32.itouchablewin32props.touchablegethitslop.md +0 -11
  1347. package/docs/api/react-native-win32.itouchablewin32props.touchablegetlongpressdelayms.md +0 -11
  1348. package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressoutdelayms.md +0 -11
  1349. package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressrectoffset.md +0 -11
  1350. package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressin.md +0 -11
  1351. package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressout.md +0 -11
  1352. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypress.md +0 -11
  1353. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypressdown.md +0 -11
  1354. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlelongpress.md +0 -11
  1355. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlepress.md +0 -11
  1356. package/docs/api/react-native-win32.itouchablewin32props.touchsounddisabled.md +0 -11
  1357. package/docs/api/react-native-win32.itouchablewin32state.isfocused.md +0 -11
  1358. package/docs/api/react-native-win32.itouchablewin32state.ishovered.md +0 -11
  1359. package/docs/api/react-native-win32.itouchablewin32state.ispressed.md +0 -11
  1360. package/docs/api/react-native-win32.itouchablewin32state.md +0 -20
  1361. package/docs/api/react-native-win32.itouchinfo.currentpagex.md +0 -11
  1362. package/docs/api/react-native-win32.itouchinfo.currentpagey.md +0 -11
  1363. package/docs/api/react-native-win32.itouchinfo.currenttimestamp.md +0 -11
  1364. package/docs/api/react-native-win32.itouchinfo.md +0 -29
  1365. package/docs/api/react-native-win32.itouchinfo.previouspagex.md +0 -11
  1366. package/docs/api/react-native-win32.itouchinfo.previouspagey.md +0 -11
  1367. package/docs/api/react-native-win32.itouchinfo.previoustimestamp.md +0 -11
  1368. package/docs/api/react-native-win32.itouchinfo.startpagex.md +0 -11
  1369. package/docs/api/react-native-win32.itouchinfo.startpagey.md +0 -11
  1370. package/docs/api/react-native-win32.itouchinfo.starttimestamp.md +0 -11
  1371. package/docs/api/react-native-win32.itouchinfo.touchactive.md +0 -11
  1372. package/docs/api/react-native-win32.itransitions.md +0 -15
  1373. package/docs/api/react-native-win32.iviewwin32.focus.md +0 -11
  1374. package/docs/api/react-native-win32.iviewwin32.md +0 -18
  1375. package/docs/api/react-native-win32.iviewwin32props.acceptskeyboardfocus.md +0 -16
  1376. package/docs/api/react-native-win32.iviewwin32props.accessibilityactions.md +0 -11
  1377. package/docs/api/react-native-win32.iviewwin32props.accessibilityannotation.md +0 -15
  1378. package/docs/api/react-native-win32.iviewwin32props.accessibilitylevel.md +0 -11
  1379. package/docs/api/react-native-win32.iviewwin32props.accessibilitypositioninset.md +0 -11
  1380. package/docs/api/react-native-win32.iviewwin32props.accessibilitysetsize.md +0 -11
  1381. package/docs/api/react-native-win32.iviewwin32props.animationclass.md +0 -11
  1382. package/docs/api/react-native-win32.iviewwin32props.children.md +0 -11
  1383. package/docs/api/react-native-win32.iviewwin32props.cursor.md +0 -11
  1384. package/docs/api/react-native-win32.iviewwin32props.focusable.md +0 -11
  1385. package/docs/api/react-native-win32.iviewwin32props.keydownevents.md +0 -11
  1386. package/docs/api/react-native-win32.iviewwin32props.keyupevents.md +0 -11
  1387. package/docs/api/react-native-win32.iviewwin32props.md +0 -44
  1388. package/docs/api/react-native-win32.iviewwin32props.onblur.md +0 -15
  1389. package/docs/api/react-native-win32.iviewwin32props.onblurcapture.md +0 -15
  1390. package/docs/api/react-native-win32.iviewwin32props.onfocus.md +0 -15
  1391. package/docs/api/react-native-win32.iviewwin32props.onfocuscapture.md +0 -15
  1392. package/docs/api/react-native-win32.iviewwin32props.onkeydown.md +0 -11
  1393. package/docs/api/react-native-win32.iviewwin32props.onkeydowncapture.md +0 -11
  1394. package/docs/api/react-native-win32.iviewwin32props.onkeyup.md +0 -11
  1395. package/docs/api/react-native-win32.iviewwin32props.onkeyupcapture.md +0 -11
  1396. package/docs/api/react-native-win32.iviewwin32props.onmouseenter.md +0 -11
  1397. package/docs/api/react-native-win32.iviewwin32props.onmouseleave.md +0 -11
  1398. package/docs/api/react-native-win32.iviewwin32props.tooltip.md +0 -13
  1399. package/docs/api/react-native-win32.iviewwin32props.type.md +0 -11
  1400. package/docs/api/react-native-win32.md +0 -85
  1401. package/docs/api/react-native-win32.omittedaccessibilitypropswin32.md +0 -15
  1402. package/docs/api/react-native-win32.personacoin.md +0 -11
  1403. package/docs/api/react-native-win32.personacoinpresence.md +0 -25
  1404. package/docs/api/react-native-win32.personacoinsize.md +0 -23
  1405. package/docs/api/react-native-win32.sharedaccessibilitypropsiosandwin32.md +0 -13
  1406. package/docs/api/react-native-win32.textstyle.md +0 -13
  1407. package/docs/api/react-native-win32.textwin32._constructor_.md +0 -20
  1408. package/docs/api/react-native-win32.textwin32.md +0 -25
  1409. package/docs/api/react-native-win32.textwin32.render.md +0 -15
  1410. package/docs/api/react-native-win32.textwin32omittypes.md +0 -11
  1411. package/docs/api/react-native-win32.touchablewin32._constructor_.md +0 -20
  1412. package/docs/api/react-native-win32.touchablewin32.componentwillunmount.md +0 -15
  1413. package/docs/api/react-native-win32.touchablewin32.focus.md +0 -11
  1414. package/docs/api/react-native-win32.touchablewin32.md +0 -34
  1415. package/docs/api/react-native-win32.touchablewin32.render.md +0 -15
  1416. package/docs/api/react-native-win32.usefrom.md +0 -13
  1417. package/docs/api/react-native-win32.viewwin32.md +0 -11
  1418. package/docs/api/react-native-win32.viewwin32omittypes.md +0 -11
  1419. package/etc/react-native-win32.api.md +0 -481
  1420. package/flow/Promise.js +0 -47
  1421. package/flow/fbjs.js +0 -258
  1422. package/flow/use-subscription.js +0 -19
  1423. package/jest/preprocessor.js +0 -120
  1424. package/typings-index.d.ts +0 -20
  1425. package/typings-index.js +0 -40
@@ -0,0 +1,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;