@office-iss/react-native-win32 0.70.2 → 0.71.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +2 -0
  3. package/.flowconfig +3 -6
  4. package/CHANGELOG.json +281 -43
  5. package/CHANGELOG.md +105 -24
  6. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  7. package/IntegrationTests/AppEventsTest.js +0 -1
  8. package/IntegrationTests/BUCK +0 -1
  9. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  10. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  11. package/IntegrationTests/IntegrationTestsApp.js +2 -3
  12. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  13. package/IntegrationTests/SyncMethodTest.js +1 -1
  14. package/IntegrationTests/TimersTest.js +4 -4
  15. package/IntegrationTests/WebSocketTest.js +3 -3
  16. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.d.ts +90 -0
  20. package/Libraries/Alert/Alert.js +7 -1
  21. package/Libraries/Alert/Alert.win32.js +1 -0
  22. package/Libraries/Alert/NativeAlertManager.js +2 -0
  23. package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
  24. package/Libraries/Animated/Animated.d.ts +587 -0
  25. package/Libraries/Animated/Animated.js +13 -11
  26. package/Libraries/Animated/AnimatedEvent.js +12 -17
  27. package/Libraries/Animated/AnimatedImplementation.js +21 -23
  28. package/Libraries/Animated/AnimatedMock.js +11 -13
  29. package/Libraries/Animated/AnimatedWeb.js +2 -2
  30. package/Libraries/Animated/Easing.d.ts +37 -0
  31. package/Libraries/Animated/Easing.js +2 -2
  32. package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
  33. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  34. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  35. package/Libraries/Animated/SpringConfig.js +2 -7
  36. package/Libraries/Animated/animations/Animation.js +3 -4
  37. package/Libraries/Animated/animations/DecayAnimation.js +5 -8
  38. package/Libraries/Animated/animations/SpringAnimation.js +9 -14
  39. package/Libraries/Animated/animations/TimingAnimation.js +9 -13
  40. package/Libraries/Animated/bezier.js +2 -2
  41. package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
  42. package/Libraries/Animated/components/AnimatedImage.js +5 -6
  43. package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
  44. package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
  45. package/Libraries/Animated/components/AnimatedText.js +5 -6
  46. package/Libraries/Animated/components/AnimatedView.js +5 -6
  47. package/Libraries/Animated/createAnimatedComponent.js +13 -20
  48. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
  49. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
  50. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  51. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
  52. package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
  53. package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
  54. package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
  55. package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
  56. package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
  57. package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
  58. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
  59. package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
  60. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
  61. package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
  62. package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
  63. package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
  64. package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
  65. package/Libraries/Animated/useAnimatedProps.js +8 -16
  66. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  67. package/Libraries/Animated/useAnimatedValue.js +25 -0
  68. package/Libraries/AppState/AppState.d.ts +58 -0
  69. package/Libraries/AppState/AppState.js +3 -7
  70. package/Libraries/AppState/NativeAppState.js +1 -0
  71. package/Libraries/BatchedBridge/MessageQueue.js +9 -5
  72. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  73. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  74. package/Libraries/Blob/BlobManager.js +5 -3
  75. package/Libraries/Blob/File.js +2 -3
  76. package/Libraries/Blob/FileReader.js +6 -5
  77. package/Libraries/Blob/NativeBlobModule.js +1 -0
  78. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  79. package/Libraries/Blob/URL.js +11 -9
  80. package/Libraries/BugReporting/NativeBugReporting.js +1 -0
  81. package/Libraries/BugReporting/getReactData.js +1 -1
  82. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
  83. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
  84. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
  85. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
  86. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
  87. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
  88. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  89. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
  90. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
  91. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  92. package/Libraries/Components/Button.d.ts +42 -0
  93. package/Libraries/Components/Button.flow.js +265 -0
  94. package/Libraries/Components/Button.js +62 -18
  95. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  96. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
  97. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
  98. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
  99. package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
  100. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
  101. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
  102. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
  103. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
  104. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
  105. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
  106. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
  107. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  108. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  109. package/Libraries/Components/Keyboard/Keyboard.js +35 -8
  110. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  111. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
  112. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
  113. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  114. package/Libraries/Components/Pressable/Pressable.js +73 -15
  115. package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
  116. package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
  117. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
  118. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  119. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  120. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  121. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
  122. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
  123. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
  124. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
  125. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
  126. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
  127. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  128. package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
  129. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  130. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  131. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  132. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
  133. package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
  134. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
  135. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
  136. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
  137. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
  138. package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
  139. package/Libraries/Components/ScrollView/ScrollView.js +87 -52
  140. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  141. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
  142. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
  143. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
  144. package/Libraries/Components/Slider/Slider.d.ts +132 -0
  145. package/Libraries/Components/Slider/Slider.js +9 -9
  146. package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
  147. package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
  148. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
  149. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
  150. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  151. package/Libraries/Components/StatusBar/StatusBar.js +7 -7
  152. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
  153. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  154. package/Libraries/Components/Switch/Switch.js +7 -7
  155. package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
  156. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
  157. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  158. package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
  159. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  160. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
  161. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
  162. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  163. package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
  164. package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
  165. package/Libraries/Components/TextInput/TextInput.js +344 -38
  166. package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
  167. package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
  168. package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
  169. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
  170. package/Libraries/Components/TextInput/TextInputState.js +22 -5
  171. package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
  172. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
  173. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  174. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  175. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  176. package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
  177. package/Libraries/Components/Touchable/Touchable.js +12 -12
  178. package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
  179. package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
  180. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  181. package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
  182. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  183. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
  184. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  185. package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
  186. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
  187. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  188. package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
  189. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  190. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  191. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
  192. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  193. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  194. package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
  195. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
  196. package/Libraries/Components/View/View.d.ts +29 -0
  197. package/Libraries/Components/View/View.js +91 -8
  198. package/Libraries/Components/View/View.win32.js +176 -89
  199. package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
  200. package/Libraries/Components/View/ViewAccessibility.js +70 -1
  201. package/Libraries/Components/View/ViewNativeComponent.js +3 -3
  202. package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
  203. package/Libraries/Components/View/ViewPropTypes.js +105 -13
  204. package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
  205. package/Libraries/Components/View/ViewWin32.Props.d.ts +6 -1
  206. package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
  207. package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
  208. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  209. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  210. package/Libraries/Core/ExceptionsManager.js +8 -0
  211. package/Libraries/Core/ExtendedError.js +11 -8
  212. package/Libraries/Core/InitializeCore.js +2 -1
  213. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  214. package/Libraries/Core/RawEventEmitter.js +2 -1
  215. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  216. package/Libraries/Core/ReactNativeVersion.js +2 -2
  217. package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
  218. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
  219. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  220. package/Libraries/Core/Timers/JSTimers.js +13 -11
  221. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  222. package/Libraries/Core/setUpBatchedBridge.js +1 -5
  223. package/Libraries/Core/setUpDeveloperTools.js +4 -6
  224. package/Libraries/Core/setUpReactDevTools.js +4 -1
  225. package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
  226. package/Libraries/Core/setUpTimers.js +1 -1
  227. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
  228. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
  229. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
  230. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  231. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  232. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
  233. package/Libraries/Events/EventPolyfill.js +1 -1
  234. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
  235. package/Libraries/Image/AssetSourceResolver.js +4 -6
  236. package/Libraries/Image/Image.android.js +63 -45
  237. package/Libraries/Image/Image.d.ts +322 -0
  238. package/Libraries/Image/Image.flow.js +64 -0
  239. package/Libraries/Image/Image.ios.js +55 -28
  240. package/Libraries/Image/Image.win32.js +54 -25
  241. package/Libraries/Image/ImageBackground.js +18 -7
  242. package/Libraries/Image/ImageInjection.js +2 -1
  243. package/Libraries/Image/ImageProps.js +88 -5
  244. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  245. package/Libraries/Image/ImageSource.d.ts +76 -0
  246. package/Libraries/Image/ImageSourceUtils.js +80 -0
  247. package/Libraries/Image/ImageUtils.js +21 -0
  248. package/Libraries/Image/ImageViewNativeComponent.js +8 -5
  249. package/Libraries/Image/NativeImageEditor.js +1 -0
  250. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  251. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  252. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  253. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  254. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  255. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
  256. package/Libraries/Image/nativeImageSource.js +2 -2
  257. package/Libraries/Image/resolveAssetSource.js +5 -5
  258. package/Libraries/Inspector/BorderBox.js +1 -1
  259. package/Libraries/Inspector/BoxInspector.js +3 -4
  260. package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
  261. package/Libraries/Inspector/ElementBox.js +4 -5
  262. package/Libraries/Inspector/ElementProperties.js +10 -11
  263. package/Libraries/Inspector/Inspector.js +22 -108
  264. package/Libraries/Inspector/Inspector.win32.js +23 -109
  265. package/Libraries/Inspector/InspectorOverlay.js +5 -5
  266. package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
  267. package/Libraries/Inspector/InspectorPanel.js +12 -10
  268. package/Libraries/Inspector/NetworkOverlay.js +7 -3
  269. package/Libraries/Inspector/PerformanceOverlay.js +3 -3
  270. package/Libraries/Inspector/StyleInspector.js +2 -2
  271. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
  272. package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
  273. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  274. package/Libraries/Interaction/InteractionManager.js +8 -8
  275. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  276. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  277. package/Libraries/Interaction/PanResponder.flow.js +257 -0
  278. package/Libraries/Interaction/PanResponder.js +4 -3
  279. package/Libraries/JSInspector/JSInspector.js +0 -3
  280. package/Libraries/JSInspector/NetworkAgent.js +3 -3
  281. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  282. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
  283. package/Libraries/Linking/Linking.d.ts +61 -0
  284. package/Libraries/Linking/Linking.js +3 -2
  285. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  286. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  287. package/Libraries/Lists/CellRenderMask.js +13 -3
  288. package/Libraries/Lists/ChildListCollection.js +72 -0
  289. package/Libraries/Lists/FillRateHelper.js +28 -17
  290. package/Libraries/Lists/FlatList.d.ts +292 -0
  291. package/Libraries/Lists/FlatList.js +70 -70
  292. package/Libraries/Lists/SectionList.d.ts +300 -0
  293. package/Libraries/Lists/SectionList.js +5 -5
  294. package/Libraries/Lists/SectionListModern.js +6 -6
  295. package/Libraries/Lists/StateSafePureComponent.js +85 -0
  296. package/Libraries/Lists/ViewabilityHelper.js +33 -12
  297. package/Libraries/Lists/VirtualizeUtils.js +17 -13
  298. package/Libraries/Lists/VirtualizedList.d.ts +317 -0
  299. package/Libraries/Lists/VirtualizedList.js +548 -890
  300. package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
  301. package/Libraries/Lists/VirtualizedListContext.js +7 -48
  302. package/Libraries/Lists/VirtualizedListProps.js +279 -0
  303. package/Libraries/Lists/VirtualizedSectionList.js +6 -3
  304. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  305. package/Libraries/LogBox/Data/LogBoxData.js +9 -8
  306. package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
  307. package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
  308. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
  309. package/Libraries/LogBox/LogBox.d.ts +28 -0
  310. package/Libraries/LogBox/LogBox.js +11 -11
  311. package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
  312. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  313. package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
  314. package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
  315. package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
  316. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
  317. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
  318. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
  319. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
  320. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
  321. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
  322. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  323. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
  324. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
  325. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
  326. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
  327. package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
  328. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
  329. package/Libraries/Modal/Modal.d.ts +104 -0
  330. package/Libraries/Modal/Modal.js +14 -14
  331. package/Libraries/Modal/NativeModalManager.js +1 -0
  332. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
  333. package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
  334. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
  335. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
  336. package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
  337. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
  338. package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
  339. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  340. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
  341. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  342. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  343. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  344. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  345. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
  346. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  347. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  348. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  349. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  350. package/Libraries/Network/RCTNetworking.android.js +4 -3
  351. package/Libraries/Network/RCTNetworking.ios.js +3 -2
  352. package/Libraries/Network/RCTNetworking.win32.js +1 -0
  353. package/Libraries/Network/convertRequestBody.js +1 -2
  354. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
  355. package/Libraries/NewAppScreen/components/Header.js +6 -2
  356. package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
  357. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
  358. package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
  359. package/Libraries/NewAppScreen/index.js +1 -1
  360. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
  361. package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
  362. package/Libraries/Performance/Systrace.d.ts +66 -0
  363. package/Libraries/Performance/Systrace.js +110 -195
  364. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  365. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
  366. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
  367. package/Libraries/Pressability/Pressability.js +12 -10
  368. package/Libraries/Pressability/Pressability.win32.js +9 -7
  369. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  370. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  371. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
  372. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
  373. package/Libraries/ReactNative/AppContainer.js +17 -7
  374. package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
  375. package/Libraries/ReactNative/AppRegistry.js +11 -14
  376. package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
  377. package/Libraries/ReactNative/FabricUIManager.js +3 -3
  378. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  379. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  380. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  381. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  382. package/Libraries/ReactNative/PaperUIManager.js +2 -2
  383. package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
  384. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
  385. package/Libraries/ReactNative/RendererImplementation.js +112 -0
  386. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  387. package/Libraries/ReactNative/RendererProxy.js +26 -0
  388. package/Libraries/ReactNative/RootTag.js +0 -1
  389. package/Libraries/ReactNative/UIManager.d.ts +157 -0
  390. package/Libraries/ReactNative/UIManager.js +1 -1
  391. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
  392. package/Libraries/ReactNative/renderApplication.js +38 -20
  393. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  394. package/Libraries/ReactNative/requireNativeComponent.js +2 -2
  395. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
  396. package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
  397. package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
  398. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
  399. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
  400. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
  401. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
  402. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
  403. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  404. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  405. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  406. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
  407. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
  408. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
  409. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  410. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  411. package/Libraries/Settings/Settings.d.ts +18 -0
  412. package/Libraries/Share/NativeShareModule.js +1 -0
  413. package/Libraries/Share/Share.d.ts +80 -0
  414. package/Libraries/Share/Share.js +7 -5
  415. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  416. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  417. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  418. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  419. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
  420. package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
  421. package/Libraries/StyleSheet/StyleSheet.js +15 -11
  422. package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
  423. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
  424. package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
  425. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
  426. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  427. package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
  428. package/Libraries/StyleSheet/processAspectRatio.js +53 -0
  429. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  430. package/Libraries/StyleSheet/processColor.js +3 -4
  431. package/Libraries/StyleSheet/processColorArray.js +1 -0
  432. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  433. package/Libraries/StyleSheet/processTransform.js +114 -105
  434. package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
  435. package/Libraries/Text/Text.d.ts +209 -0
  436. package/Libraries/Text/Text.js +94 -12
  437. package/Libraries/Text/TextNativeComponent.js +49 -41
  438. package/Libraries/Text/TextNativeComponent.win32.js +67 -48
  439. package/Libraries/Text/TextProps.js +64 -7
  440. package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
  441. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  442. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
  443. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  444. package/Libraries/Types/CoreEventTypes.d.ts +263 -0
  445. package/Libraries/Types/CoreEventTypes.js +2 -1
  446. package/Libraries/Types/CoreEventTypes.win32.js +2 -1
  447. package/Libraries/Utilities/AcessibilityMapping.js +154 -0
  448. package/Libraries/Utilities/Appearance.d.ts +43 -0
  449. package/Libraries/Utilities/Appearance.js +3 -3
  450. package/Libraries/Utilities/BackHandler.android.js +3 -5
  451. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  452. package/Libraries/Utilities/BackHandler.win32.js +3 -5
  453. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  454. package/Libraries/Utilities/DevSettings.js +4 -2
  455. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  456. package/Libraries/Utilities/Dimensions.js +2 -2
  457. package/Libraries/Utilities/Dimensions.win32.js +2 -2
  458. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
  459. package/Libraries/Utilities/HMRClient.js +23 -8
  460. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  461. package/Libraries/Utilities/NativeAppearance.js +1 -0
  462. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  463. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
  464. package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
  465. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  466. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  467. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  468. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
  469. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  470. package/Libraries/Utilities/Platform.android.js +11 -5
  471. package/Libraries/Utilities/Platform.d.ts +102 -0
  472. package/Libraries/Utilities/Platform.ios.js +12 -5
  473. package/Libraries/Utilities/Platform.win32.js +11 -5
  474. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  475. package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
  476. package/Libraries/Utilities/codegenNativeCommands.js +1 -10
  477. package/Libraries/Utilities/codegenNativeComponent.js +4 -1
  478. package/Libraries/Utilities/createPerformanceLogger.js +7 -8
  479. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  480. package/Libraries/Utilities/groupByEveryN.js +1 -1
  481. package/Libraries/Utilities/stringifySafe.js +3 -1
  482. package/Libraries/Utilities/useColorScheme.js +3 -2
  483. package/Libraries/Utilities/useRefEffect.js +1 -1
  484. package/Libraries/Vibration/NativeVibration.js +1 -0
  485. package/Libraries/Vibration/Vibration.d.ts +43 -0
  486. package/Libraries/Vibration/Vibration.js +1 -0
  487. package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
  488. package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
  489. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  490. package/Libraries/WebSocket/WebSocket.js +11 -3
  491. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  492. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  493. package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
  494. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
  495. package/Libraries/__tests__/ButtonWin32-test.js +16 -0
  496. package/Libraries/platform-types.d.ts +25 -0
  497. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  498. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  499. package/babel.config.js +3 -0
  500. package/flow/jest.js +2 -2
  501. package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
  502. package/flow-typed/npm/yargs_v17.x.x.js +341 -0
  503. package/index.js +89 -55
  504. package/index.win32.js +89 -55
  505. package/interface.js +8 -0
  506. package/jest/react-native-env.js +18 -0
  507. package/jest/renderer.js +2 -2
  508. package/jest/setup.js +7 -9
  509. package/jest.config.js +9 -2
  510. package/overrides.json +40 -101
  511. package/package.json +34 -33
  512. package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
  513. package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
  514. package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
  515. package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
  516. package/src/Libraries/Components/View/ViewWin32.Props.ts +10 -1
  517. package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
  518. package/src/Libraries/platform-types.d.ts +25 -0
  519. package/types/index.d.ts +215 -0
  520. package/IntegrationTests/AsyncStorageTest.js +0 -261
  521. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  522. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  523. package/Libraries/Core/setUpSystrace.js +0 -21
  524. package/Libraries/Image/ImagePickerIOS.js +0 -103
  525. package/Libraries/Image/NativeImagePickerIOS.js +0 -38
  526. package/Libraries/Lists/VirtualizedList.win32.js +0 -9
  527. package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
  528. package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
  529. package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
  530. package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
  531. package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
  532. package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
  533. package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
  534. package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
  535. package/Libraries/Storage/AsyncStorage.js +0 -385
  536. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
  537. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
  538. package/Libraries/Utilities/JSDevSupportModule.js +0 -37
  539. package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
  540. package/rntypes/BatchedBridge.d.ts +0 -23
  541. package/rntypes/Devtools.d.ts +0 -20
  542. package/rntypes/LaunchScreen.d.ts +0 -9
  543. package/rntypes/globals.d.ts +0 -497
  544. package/rntypes/index.d.ts +0 -9754
  545. package/rntypes/legacy-properties.d.ts +0 -238
  546. package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
  547. package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
  548. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
  549. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
  550. package/src/rntypes/BatchedBridge.d.ts +0 -23
  551. package/src/rntypes/Devtools.d.ts +0 -20
  552. package/src/rntypes/LaunchScreen.d.ts +0 -9
  553. package/src/rntypes/globals.d.ts +0 -497
  554. package/src/rntypes/index.d.ts +0 -9754
  555. package/src/rntypes/legacy-properties.d.ts +0 -238
  556. package/src/typings-index.ts +0 -37
  557. package/typings-index.d.ts +0 -23
  558. package/typings-index.js +0 -47
  559. package/typings-index.js.map +0 -1
@@ -12,13 +12,13 @@
12
12
 
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
 
15
- const flattenStyle = require('../../StyleSheet/flattenStyle');
16
- const NativeAnimatedHelper = require('../NativeAnimatedHelper');
17
- const AnimatedNode = require('./AnimatedNode');
18
- const AnimatedTransform = require('./AnimatedTransform');
19
- const AnimatedWithChildren = require('./AnimatedWithChildren');
15
+ import flattenStyle from '../../StyleSheet/flattenStyle';
16
+ import NativeAnimatedHelper from '../NativeAnimatedHelper';
17
+ import AnimatedNode from './AnimatedNode';
18
+ import AnimatedTransform from './AnimatedTransform';
19
+ import AnimatedWithChildren from './AnimatedWithChildren';
20
20
 
21
- class AnimatedStyle extends AnimatedWithChildren {
21
+ export default class AnimatedStyle extends AnimatedWithChildren {
22
22
  _style: Object;
23
23
 
24
24
  constructor(style: any) {
@@ -34,23 +34,15 @@ class AnimatedStyle extends AnimatedWithChildren {
34
34
  }
35
35
 
36
36
  // Recursively get values for nested styles (like iOS's shadowOffset)
37
- _walkStyleAndGetValues(style: any, initialStyle: ?Object) {
37
+ _walkStyleAndGetValues(style: any): {[string]: any | {...}} {
38
38
  const updatedStyle: {[string]: any | {...}} = {};
39
39
  for (const key in style) {
40
40
  const value = style[key];
41
41
  if (value instanceof AnimatedNode) {
42
- // During initial render we want to use the initial value of both natively and non-natively
43
- // driven nodes. On subsequent renders, we cannot use the value of natively driven nodes
44
- // as they may not be up to date, so we use the initial value to ensure that values of
45
- // native animated nodes do not impact rerenders.
46
- if (!initialStyle || !value.__isNative) {
47
- updatedStyle[key] = value.__getValue();
48
- } else if (initialStyle.hasOwnProperty(key)) {
49
- updatedStyle[key] = initialStyle[key];
50
- }
42
+ updatedStyle[key] = value.__getValue();
51
43
  } else if (value && !Array.isArray(value) && typeof value === 'object') {
52
44
  // Support animating nested values (for example: shadowOffset.height)
53
- updatedStyle[key] = this._walkStyleAndGetValues(value, initialStyle);
45
+ updatedStyle[key] = this._walkStyleAndGetValues(value);
54
46
  } else {
55
47
  updatedStyle[key] = value;
56
48
  }
@@ -58,12 +50,12 @@ class AnimatedStyle extends AnimatedWithChildren {
58
50
  return updatedStyle;
59
51
  }
60
52
 
61
- __getValue(initialStyle: ?Object): Object {
62
- return this._walkStyleAndGetValues(this._style, initialStyle);
53
+ __getValue(): Object {
54
+ return this._walkStyleAndGetValues(this._style);
63
55
  }
64
56
 
65
57
  // Recursively get animated values for nested styles (like iOS's shadowOffset)
66
- _walkStyleAndGetAnimatedValues(style: any) {
58
+ _walkStyleAndGetAnimatedValues(style: any): {[string]: any | {...}} {
67
59
  const updatedStyle: {[string]: any | {...}} = {};
68
60
  for (const key in style) {
69
61
  const value = style[key];
@@ -128,5 +120,3 @@ class AnimatedStyle extends AnimatedWithChildren {
128
120
  };
129
121
  }
130
122
  }
131
-
132
- module.exports = AnimatedStyle;
@@ -10,15 +10,15 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const AnimatedInterpolation = require('./AnimatedInterpolation');
14
- const AnimatedNode = require('./AnimatedNode');
15
- const AnimatedValue = require('./AnimatedValue');
16
- const AnimatedWithChildren = require('./AnimatedWithChildren');
17
-
18
- import type {InterpolationConfigType} from './AnimatedInterpolation';
19
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
+ import type {InterpolationConfigType} from './AnimatedInterpolation';
15
+ import type AnimatedNode from './AnimatedNode';
20
16
 
21
- class AnimatedSubtraction extends AnimatedWithChildren {
17
+ import AnimatedInterpolation from './AnimatedInterpolation';
18
+ import AnimatedValue from './AnimatedValue';
19
+ import AnimatedWithChildren from './AnimatedWithChildren';
20
+
21
+ export default class AnimatedSubtraction extends AnimatedWithChildren {
22
22
  _a: AnimatedNode;
23
23
  _b: AnimatedNode;
24
24
 
@@ -62,5 +62,3 @@ class AnimatedSubtraction extends AnimatedWithChildren {
62
62
  };
63
63
  }
64
64
  }
65
-
66
- module.exports = AnimatedSubtraction;
@@ -10,17 +10,14 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const AnimatedValue = require('./AnimatedValue');
14
- const AnimatedNode = require('./AnimatedNode');
15
- const {
16
- generateNewAnimationId,
17
- shouldUseNativeDriver,
18
- } = require('../NativeAnimatedHelper');
19
-
20
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
21
14
  import type {EndCallback} from '../animations/Animation';
15
+ import type AnimatedValue from './AnimatedValue';
16
+
17
+ import NativeAnimatedHelper from '../NativeAnimatedHelper';
18
+ import AnimatedNode from './AnimatedNode';
22
19
 
23
- class AnimatedTracking extends AnimatedNode {
20
+ export default class AnimatedTracking extends AnimatedNode {
24
21
  _value: AnimatedValue;
25
22
  _parent: AnimatedNode;
26
23
  _callback: ?EndCallback;
@@ -40,7 +37,8 @@ class AnimatedTracking extends AnimatedNode {
40
37
  this._parent = parent;
41
38
  this._animationClass = animationClass;
42
39
  this._animationConfig = animationConfig;
43
- this._useNativeDriver = shouldUseNativeDriver(animationConfig);
40
+ this._useNativeDriver =
41
+ NativeAnimatedHelper.shouldUseNativeDriver(animationConfig);
44
42
  this._callback = callback;
45
43
  this.__attach();
46
44
  }
@@ -93,12 +91,10 @@ class AnimatedTracking extends AnimatedNode {
93
91
  const animationConfig = animation.__getNativeAnimationConfig();
94
92
  return {
95
93
  type: 'tracking',
96
- animationId: generateNewAnimationId(),
94
+ animationId: NativeAnimatedHelper.generateNewAnimationId(),
97
95
  animationConfig,
98
96
  toValue: this._parent.__getNativeTag(),
99
97
  value: this._value.__getNativeTag(),
100
98
  };
101
99
  }
102
100
  }
103
-
104
- module.exports = AnimatedTracking;
@@ -12,11 +12,11 @@
12
12
 
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
 
15
- const NativeAnimatedHelper = require('../NativeAnimatedHelper');
16
- const AnimatedNode = require('./AnimatedNode');
17
- const AnimatedWithChildren = require('./AnimatedWithChildren');
15
+ import NativeAnimatedHelper from '../NativeAnimatedHelper';
16
+ import AnimatedNode from './AnimatedNode';
17
+ import AnimatedWithChildren from './AnimatedWithChildren';
18
18
 
19
- class AnimatedTransform extends AnimatedWithChildren {
19
+ export default class AnimatedTransform extends AnimatedWithChildren {
20
20
  _transforms: $ReadOnlyArray<Object>;
21
21
 
22
22
  constructor(transforms: $ReadOnlyArray<Object>) {
@@ -37,34 +37,11 @@ class AnimatedTransform extends AnimatedWithChildren {
37
37
  }
38
38
 
39
39
  __getValue(): $ReadOnlyArray<Object> {
40
- return this._transforms.map(transform => {
41
- const result: {[string]: any} = {};
42
- for (const key in transform) {
43
- const value = transform[key];
44
- if (value instanceof AnimatedNode) {
45
- result[key] = value.__getValue();
46
- } else {
47
- result[key] = value;
48
- }
49
- }
50
- return result;
51
- });
40
+ return this._get(animatedNode => animatedNode.__getValue());
52
41
  }
53
42
 
54
43
  __getAnimatedValue(): $ReadOnlyArray<Object> {
55
- return this._transforms.map(transform => {
56
- const result: {[string]: any} = {};
57
- for (const key in transform) {
58
- const value = transform[key];
59
- if (value instanceof AnimatedNode) {
60
- result[key] = value.__getAnimatedValue();
61
- } else {
62
- // All transform components needed to recompose matrix
63
- result[key] = value;
64
- }
65
- }
66
- return result;
67
- });
44
+ return this._get(animatedNode => animatedNode.__getAnimatedValue());
68
45
  }
69
46
 
70
47
  __attach(): void {
@@ -118,6 +95,36 @@ class AnimatedTransform extends AnimatedWithChildren {
118
95
  transforms: transConfigs,
119
96
  };
120
97
  }
121
- }
122
98
 
123
- module.exports = AnimatedTransform;
99
+ _get(getter: AnimatedNode => any): $ReadOnlyArray<Object> {
100
+ return this._transforms.map(transform => {
101
+ const result: {[string]: any} = {};
102
+ for (const key in transform) {
103
+ const value = transform[key];
104
+ if (value instanceof AnimatedNode) {
105
+ result[key] = getter(value);
106
+ } else if (Array.isArray(value)) {
107
+ result[key] = value.map(element => {
108
+ if (element instanceof AnimatedNode) {
109
+ return getter(element);
110
+ } else {
111
+ return element;
112
+ }
113
+ });
114
+ } else if (typeof value === 'object') {
115
+ result[key] = {};
116
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
117
+ if (nestedValue instanceof AnimatedNode) {
118
+ result[key][nestedKey] = getter(nestedValue);
119
+ } else {
120
+ result[key][nestedKey] = nestedValue;
121
+ }
122
+ }
123
+ } else {
124
+ result[key] = value;
125
+ }
126
+ }
127
+ return result;
128
+ });
129
+ }
130
+ }
@@ -10,16 +10,16 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const AnimatedInterpolation = require('./AnimatedInterpolation');
14
- const AnimatedWithChildren = require('./AnimatedWithChildren');
15
- const InteractionManager = require('../../Interaction/InteractionManager');
16
- const NativeAnimatedHelper = require('../NativeAnimatedHelper');
17
-
18
- import type AnimatedNode from './AnimatedNode';
19
13
  import type Animation, {EndCallback} from '../animations/Animation';
20
14
  import type {InterpolationConfigType} from './AnimatedInterpolation';
15
+ import type AnimatedNode from './AnimatedNode';
21
16
  import type AnimatedTracking from './AnimatedTracking';
22
17
 
18
+ import InteractionManager from '../../Interaction/InteractionManager';
19
+ import NativeAnimatedHelper from '../NativeAnimatedHelper';
20
+ import AnimatedInterpolation from './AnimatedInterpolation';
21
+ import AnimatedWithChildren from './AnimatedWithChildren';
22
+
23
23
  export type AnimatedValueConfig = $ReadOnly<{
24
24
  useNativeDriver: boolean,
25
25
  }>;
@@ -49,7 +49,7 @@ const NativeAnimatedAPI = NativeAnimatedHelper.API;
49
49
  * transform which can receive values from multiple parents.
50
50
  */
51
51
  function _flush(rootNode: AnimatedValue): void {
52
- const animatedStyles = new Set();
52
+ const animatedStyles = new Set<AnimatedValue | AnimatedNode>();
53
53
  function findAnimatedStyles(node: AnimatedValue | AnimatedNode) {
54
54
  /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment
55
55
  * suppresses an error found when Flow v0.68 was deployed. To see the error
@@ -84,13 +84,14 @@ function _executeAsAnimatedBatch(id: string, operation: () => void) {
84
84
  *
85
85
  * See https://reactnative.dev/docs/animatedvalue
86
86
  */
87
- class AnimatedValue extends AnimatedWithChildren {
87
+ export default class AnimatedValue extends AnimatedWithChildren {
88
88
  _value: number;
89
89
  _startingValue: number;
90
90
  _offset: number;
91
91
  _animation: ?Animation;
92
92
  _tracking: ?AnimatedTracking;
93
93
 
94
+ // $FlowFixMe[missing-local-annot]
94
95
  constructor(value: number, config?: ?AnimatedValueConfig) {
95
96
  super();
96
97
  if (typeof value !== 'number') {
@@ -303,5 +304,3 @@ class AnimatedValue extends AnimatedWithChildren {
303
304
  };
304
305
  }
305
306
  }
306
-
307
- module.exports = AnimatedValue;
@@ -12,10 +12,9 @@
12
12
 
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
14
 
15
- const AnimatedValue = require('./AnimatedValue');
16
- const AnimatedWithChildren = require('./AnimatedWithChildren');
17
-
18
- const invariant = require('invariant');
15
+ import AnimatedValue from './AnimatedValue';
16
+ import AnimatedWithChildren from './AnimatedWithChildren';
17
+ import invariant from 'invariant';
19
18
 
20
19
  export type AnimatedValueXYConfig = $ReadOnly<{
21
20
  useNativeDriver: boolean,
@@ -34,7 +33,7 @@ let _uniqueId = 1;
34
33
  *
35
34
  * See https://reactnative.dev/docs/animatedvaluexy
36
35
  */
37
- class AnimatedValueXY extends AnimatedWithChildren {
36
+ export default class AnimatedValueXY extends AnimatedWithChildren {
38
37
  x: AnimatedValue;
39
38
  y: AnimatedValue;
40
39
  _listeners: {
@@ -249,5 +248,3 @@ class AnimatedValueXY extends AnimatedWithChildren {
249
248
  super.__makeNative(platformConfig);
250
249
  }
251
250
  }
252
-
253
- module.exports = AnimatedValueXY;
@@ -11,10 +11,11 @@
11
11
  'use strict';
12
12
 
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
- const AnimatedNode = require('./AnimatedNode');
15
- const NativeAnimatedHelper = require('../NativeAnimatedHelper');
16
14
 
17
- class AnimatedWithChildren extends AnimatedNode {
15
+ import NativeAnimatedHelper from '../NativeAnimatedHelper';
16
+ import AnimatedNode from './AnimatedNode';
17
+
18
+ export default class AnimatedWithChildren extends AnimatedNode {
18
19
  _children: Array<AnimatedNode>;
19
20
 
20
21
  constructor() {
@@ -85,5 +86,3 @@ class AnimatedWithChildren extends AnimatedNode {
85
86
  }
86
87
  }
87
88
  }
88
-
89
- module.exports = AnimatedWithChildren;
@@ -10,10 +10,10 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import AnimatedProps from './nodes/AnimatedProps';
14
- import {AnimatedEvent} from './AnimatedEvent';
15
13
  import useRefEffect from '../Utilities/useRefEffect';
14
+ import {AnimatedEvent} from './AnimatedEvent';
16
15
  import NativeAnimatedHelper from './NativeAnimatedHelper';
16
+ import AnimatedProps from './nodes/AnimatedProps';
17
17
  import {
18
18
  useCallback,
19
19
  useEffect,
@@ -21,7 +21,6 @@ import {
21
21
  useMemo,
22
22
  useReducer,
23
23
  useRef,
24
- useState,
25
24
  } from 'react';
26
25
 
27
26
  type ReducedProps<TProps> = {
@@ -31,12 +30,10 @@ type ReducedProps<TProps> = {
31
30
  };
32
31
  type CallbackRef<T> = T => mixed;
33
32
 
34
- let animatedComponentNextId = 1;
35
-
36
33
  export default function useAnimatedProps<TProps: {...}, TInstance>(
37
34
  props: TProps,
38
35
  ): [ReducedProps<TProps>, CallbackRef<TInstance | null>] {
39
- const [, scheduleUpdate] = useReducer(count => count + 1, 0);
36
+ const [, scheduleUpdate] = useReducer<number, void>(count => count + 1, 0);
40
37
  const onUpdateRef = useRef<?() => void>(null);
41
38
 
42
39
  // TODO: Only invalidate `node` if animated props or `style` change. In the
@@ -63,7 +60,7 @@ export default function useAnimatedProps<TProps: {...}, TInstance>(
63
60
  // But there is no way to transparently compose three separate callback refs,
64
61
  // so we just combine them all into one for now.
65
62
  const refEffect = useCallback(
66
- instance => {
63
+ (instance: TInstance) => {
67
64
  // NOTE: This may be called more often than necessary (e.g. when `props`
68
65
  // changes), but `setNativeView` already optimizes for that.
69
66
  node.setNativeView(instance);
@@ -141,16 +138,11 @@ function useAnimatedPropsLifecycle(node: AnimatedProps): void {
141
138
  const prevNodeRef = useRef<?AnimatedProps>(null);
142
139
  const isUnmountingRef = useRef<boolean>(false);
143
140
 
144
- const [animatedComponentId] = useState(
145
- () => `${animatedComponentNextId++}:animatedComponent`,
146
- );
147
-
148
- useLayoutEffect(() => {
149
- NativeAnimatedHelper.API.setWaitingForIdentifier(animatedComponentId);
150
- });
151
-
152
141
  useEffect(() => {
153
- NativeAnimatedHelper.API.unsetWaitingForIdentifier(animatedComponentId);
142
+ // It is ok for multiple components to call `flushQueue` because it noops
143
+ // if the queue is empty. When multiple animated components are mounted at
144
+ // the same time. Only first component flushes the queue and the others will noop.
145
+ NativeAnimatedHelper.API.flushQueue();
154
146
  });
155
147
 
156
148
  useLayoutEffect(() => {
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import type {Animated} from './Animated';
11
+
12
+ export function useAnimatedValue(
13
+ initialValue: number,
14
+ config?: Animated.AnimatedConfig,
15
+ ): Animated.Value;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ import type {AnimatedValueConfig} from './nodes/AnimatedValue';
12
+
13
+ import Animated from './Animated';
14
+ import {useRef} from 'react';
15
+
16
+ export default function useAnimatedValue(
17
+ initialValue: number,
18
+ config?: ?AnimatedValueConfig,
19
+ ): Animated.Value {
20
+ const ref = useRef<null | Animated.Value>(null);
21
+ if (ref.current == null) {
22
+ ref.current = new Animated.Value(initialValue, config);
23
+ }
24
+ return ref.current;
25
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import {NativeEventSubscription} from '../EventEmitter/RCTNativeAppEventEmitter';
11
+
12
+ /**
13
+ * AppState can tell you if the app is in the foreground or background,
14
+ * and notify you when the state changes.
15
+ *
16
+ * AppState is frequently used to determine the intent and proper behavior
17
+ * when handling push notifications.
18
+ *
19
+ * App State Events
20
+ * change - This even is received when the app state has changed.
21
+ * focus [Android] - Received when the app gains focus (the user is interacting with the app).
22
+ * blur [Android] - Received when the user is not actively interacting with the app.
23
+ *
24
+ * App States
25
+ * active - The app is running in the foreground
26
+ * background - The app is running in the background. The user is either in another app or on the home screen
27
+ * inactive [iOS] - This is a transition state that currently never happens for typical React Native apps.
28
+ * unknown [iOS] - Initial value until the current app state is determined
29
+ * extension [iOS] - The app is running as an app extension
30
+ *
31
+ * For more information, see Apple's documentation: https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html
32
+ *
33
+ * @see https://reactnative.dev/docs/appstate#app-states
34
+ */
35
+ export type AppStateEvent = 'change' | 'memoryWarning' | 'blur' | 'focus';
36
+ export type AppStateStatus =
37
+ | 'active'
38
+ | 'background'
39
+ | 'inactive'
40
+ | 'unknown'
41
+ | 'extension';
42
+
43
+ export interface AppStateStatic {
44
+ currentState: AppStateStatus;
45
+ isAvailable: boolean;
46
+
47
+ /**
48
+ * Add a handler to AppState changes by listening to the change event
49
+ * type and providing the handler
50
+ */
51
+ addEventListener(
52
+ type: AppStateEvent,
53
+ listener: (state: AppStateStatus) => void,
54
+ ): NativeEventSubscription;
55
+ }
56
+
57
+ export const AppState: AppStateStatic;
58
+ export type AppState = AppStateStatic;
@@ -8,11 +8,11 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import {type EventSubscription} from '../vendor/emitter/EventEmitter';
12
11
  import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
13
12
  import logError from '../Utilities/logError';
14
- import NativeAppState from './NativeAppState';
15
13
  import Platform from '../Utilities/Platform';
14
+ import {type EventSubscription} from '../vendor/emitter/EventEmitter';
15
+ import NativeAppState from './NativeAppState';
16
16
 
17
17
  export type AppStateValues = 'inactive' | 'background' | 'active';
18
18
 
@@ -76,17 +76,13 @@ class AppState {
76
76
  // It's possible that the state will have changed here & listeners need to be notified
77
77
  if (!eventUpdated && this.currentState !== appStateData.app_state) {
78
78
  this.currentState = appStateData.app_state;
79
+ // $FlowFixMe[incompatible-call]
79
80
  emitter.emit('appStateDidChange', appStateData);
80
81
  }
81
82
  }, logError);
82
83
  }
83
84
  }
84
85
 
85
- // TODO: now that AppState is a subclass of NativeEventEmitter, we could
86
- // deprecate `addEventListener` and `removeEventListener` and just use
87
- // addListener` and `listener.remove()` directly. That will be a breaking
88
- // change though, as both the method and event names are different
89
- // (addListener events are currently required to be globally unique).
90
86
  /**
91
87
  * Add a handler to AppState changes by listening to the `change` event type
92
88
  * and providing the handler.
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
+
12
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
13
14
 
14
15
  export interface Spec extends TurboModule {
@@ -241,7 +241,7 @@ class MessageQueue {
241
241
  params: mixed[],
242
242
  onFail: ?(...mixed[]) => void,
243
243
  onSucc: ?(...mixed[]) => void,
244
- ) {
244
+ ): void {
245
245
  this.processCallbacks(moduleID, methodID, params, onFail, onSucc);
246
246
 
247
247
  this._queue[MODULE_IDS].push(moduleID);
@@ -252,7 +252,7 @@ class MessageQueue {
252
252
  // folly-convertible. As a special case, if a prop value is a
253
253
  // function it is permitted here, and special-cased in the
254
254
  // conversion.
255
- const isValidArgument = (val: mixed) => {
255
+ const isValidArgument = (val: mixed): boolean => {
256
256
  switch (typeof val) {
257
257
  case 'undefined':
258
258
  case 'boolean':
@@ -321,6 +321,7 @@ class MessageQueue {
321
321
  }
322
322
  Systrace.counterEvent('pending_js_to_native_queue', this._queue[0].length);
323
323
  if (__DEV__ && this.__spy && isFinite(moduleID)) {
324
+ // $FlowFixMe[not-a-function]
324
325
  this.__spy({
325
326
  type: TO_NATIVE,
326
327
  module: this._remoteModuleTable[moduleID],
@@ -380,7 +381,7 @@ class MessageQueue {
380
381
  return (
381
382
  // $FlowFixMe[cannot-resolve-name]
382
383
  typeof DebuggerInternal !== 'undefined' &&
383
- DebuggerInternal.shouldPauseOnThrow === true // eslint-disable-line no-undef
384
+ DebuggerInternal.shouldPauseOnThrow === true
384
385
  );
385
386
  }
386
387
 
@@ -408,9 +409,12 @@ class MessageQueue {
408
409
  const callableModuleNames = Object.keys(this._lazyCallableModules);
409
410
  const n = callableModuleNames.length;
410
411
  const callableModuleNameList = callableModuleNames.join(', ');
412
+
413
+ // TODO(T122225939): Remove after investigation: Why are we getting to this line in bridgeless mode?
414
+ const isBridgelessMode = global.RN$Bridgeless === true ? 'true' : 'false';
411
415
  invariant(
412
416
  false,
413
- `Failed to call into JavaScript module method ${module}.${method}(). Module has not been registered as callable. Registered callable JavaScript modules (n = ${n}): ${callableModuleNameList}.
417
+ `Failed to call into JavaScript module method ${module}.${method}(). Module has not been registered as callable. Bridgeless Mode: ${isBridgelessMode}. Registered callable JavaScript modules (n = ${n}): ${callableModuleNameList}.
414
418
  A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.`,
415
419
  );
416
420
  }
@@ -424,7 +428,7 @@ class MessageQueue {
424
428
  Systrace.endEvent();
425
429
  }
426
430
 
427
- __invokeCallback(cbID: number, args: mixed[]) {
431
+ __invokeCallback(cbID: number, args: mixed[]): void {
428
432
  this._lastFlush = Date.now();
429
433
  this._eventLoopStartTime = this._lastFlush;
430
434
 
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ /**
11
+ * Interface for NativeModules which allows to augment NativeModules with type informations.
12
+ * See react-native-sensor-manager for example.
13
+ */
14
+ interface NativeModulesStatic {
15
+ [name: string]: any;
16
+ }
17
+
18
+ /**
19
+ * Native Modules written in ObjectiveC/Swift/Java exposed via the RCTBridge
20
+ * Define lazy getters for each module. These will return the module if already loaded, or load it if not.
21
+ * See https://reactnative.dev/docs/native-modules-ios
22
+ * @example
23
+ * const MyModule = NativeModules.ModuleName
24
+ */
25
+ export const NativeModules: NativeModulesStatic;
@@ -155,6 +155,7 @@ function genMethod(moduleID: number, methodID: number, type: MethodType) {
155
155
  }
156
156
  };
157
157
  }
158
+ // $FlowFixMe[prop-missing]
158
159
  fn.type = type;
159
160
  return fn;
160
161
  }
@@ -8,13 +8,14 @@
8
8
  * @format
9
9
  */
10
10
 
11
- const Blob = require('./Blob');
12
- const BlobRegistry = require('./BlobRegistry');
11
+ import type {BlobCollector, BlobData, BlobOptions} from './BlobTypes';
13
12
 
14
- import type {BlobData, BlobOptions, BlobCollector} from './BlobTypes';
15
13
  import NativeBlobModule from './NativeBlobModule';
16
14
  import invariant from 'invariant';
17
15
 
16
+ const Blob = require('./Blob');
17
+ const BlobRegistry = require('./BlobRegistry');
18
+
18
19
  /*eslint-disable no-bitwise */
19
20
  /*eslint-disable eqeqeq */
20
21
 
@@ -110,6 +111,7 @@ class BlobManager {
110
111
  */
111
112
  static createFromOptions(options: BlobData): Blob {
112
113
  BlobRegistry.register(options.blobId);
114
+ // $FlowFixMe[prop-missing]
113
115
  return Object.assign(Object.create(Blob.prototype), {
114
116
  data:
115
117
  // Reuse the collector instance when creating from an existing blob.