@office-iss/react-native-win32 0.0.0-canary.283 → 0.0.0-canary.285

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 (473) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +79 -1
  3. package/CHANGELOG.md +32 -8
  4. package/IntegrationTests/AccessibilityManagerTest.js +17 -12
  5. package/IntegrationTests/AppEventsTest.js +47 -32
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
  7. package/IntegrationTests/ImageCachePolicyTest.js +64 -81
  8. package/IntegrationTests/ImageSnapshotTest.js +17 -20
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
  10. package/IntegrationTests/IntegrationTestsApp.js +11 -6
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +2 -1
  13. package/IntegrationTests/PromiseTest.js +51 -43
  14. package/IntegrationTests/SimpleSnapshotTest.js +19 -24
  15. package/IntegrationTests/SyncMethodTest.js +9 -13
  16. package/IntegrationTests/TimersTest.js +3 -3
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +39 -18
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
  19. package/Libraries/Alert/Alert.flow.js +62 -0
  20. package/Libraries/Alert/Alert.js +5 -28
  21. package/Libraries/Alert/Alert.win32.js +6 -28
  22. package/Libraries/Alert/NativeAlertManager.js +2 -2
  23. package/Libraries/Alert/RCTAlertManager.android.js +1 -1
  24. package/Libraries/Alert/RCTAlertManager.flow.js +20 -0
  25. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  26. package/Libraries/Animated/AnimatedMock.js +1 -1
  27. package/Libraries/Animated/NativeAnimatedModule.js +2 -2
  28. package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
  29. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  30. package/Libraries/Animated/nodes/AnimatedValue.js +35 -13
  31. package/Libraries/Animated/useAnimatedProps.js +4 -332
  32. package/Libraries/AppState/AppState.js +1 -1
  33. package/Libraries/AppState/NativeAppState.js +2 -2
  34. package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
  35. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  36. package/Libraries/BatchedBridge/NativeModules.js +4 -3
  37. package/Libraries/Blob/Blob.js +4 -4
  38. package/Libraries/Blob/BlobManager.js +3 -2
  39. package/Libraries/Blob/BlobRegistry.js +3 -9
  40. package/Libraries/Blob/File.js +3 -2
  41. package/Libraries/Blob/FileReader.js +8 -174
  42. package/Libraries/Blob/FileReader_new.js +231 -0
  43. package/Libraries/Blob/FileReader_old.js +186 -0
  44. package/Libraries/Blob/NativeBlobModule.js +2 -2
  45. package/Libraries/Blob/NativeFileReaderModule.js +2 -2
  46. package/Libraries/Blob/URLSearchParams.js +1 -2
  47. package/Libraries/BugReporting/BugReporting.js +2 -2
  48. package/Libraries/BugReporting/NativeBugReporting.js +2 -2
  49. package/Libraries/BugReporting/dumpReactTree.js +2 -2
  50. package/Libraries/BugReporting/getReactData.js +1 -1
  51. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
  52. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +2 -2
  53. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
  54. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  55. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  56. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  57. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +5 -5
  58. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  59. package/Libraries/Components/Button.js +2 -2
  60. package/Libraries/Components/Button.win32.js +2 -2
  61. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  62. package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
  63. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  64. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +7 -7
  65. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +2 -2
  66. package/Libraries/Components/Keyboard/Keyboard.js +9 -9
  67. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +18 -22
  68. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
  69. package/Libraries/Components/Pressable/Pressable.js +4 -4
  70. package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
  71. package/Libraries/Components/Pressable/useAndroidRippleForView.js +9 -9
  72. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +10 -11
  73. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  74. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  75. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  76. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  77. package/Libraries/Components/RefreshControl/RefreshControl.js +9 -9
  78. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  79. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  80. package/Libraries/Components/ScrollView/ScrollView.js +32 -26
  81. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  82. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -2
  83. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  84. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  85. package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
  86. package/Libraries/Components/Sound/SoundManager.js +1 -1
  87. package/Libraries/Components/StaticRenderer.js +4 -4
  88. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
  89. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
  90. package/Libraries/Components/StatusBar/StatusBar.js +33 -18
  91. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  92. package/Libraries/Components/Switch/Switch.js +6 -6
  93. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  94. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +31 -31
  95. package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
  96. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  97. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  98. package/Libraries/Components/TextInput/TextInput.flow.js +117 -107
  99. package/Libraries/Components/TextInput/TextInput.js +122 -115
  100. package/Libraries/Components/TextInput/TextInput.win32.js +124 -117
  101. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  102. package/Libraries/Components/TextInput/TextInputState.js +3 -1
  103. package/Libraries/Components/TextInput/TextInputState.win32.js +3 -1
  104. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
  105. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  106. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
  107. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  108. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  109. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  110. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  111. package/Libraries/Components/Touchable/Position.js +1 -1
  112. package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
  113. package/Libraries/Components/Touchable/TouchableHighlight.js +12 -12
  114. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +15 -15
  115. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +7 -7
  116. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -7
  117. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -4
  118. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  119. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
  120. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  121. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
  122. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
  123. package/Libraries/Components/View/View.js +1 -1
  124. package/Libraries/Components/View/View.win32.js +1 -1
  125. package/Libraries/Components/View/ViewAccessibility.js +2 -2
  126. package/Libraries/Components/View/ViewAccessibility.win32.js +2 -2
  127. package/Libraries/Components/View/ViewPropTypes.js +22 -22
  128. package/Libraries/Components/View/ViewPropTypes.win32.js +22 -22
  129. package/Libraries/Core/Devtools/getDevServer.js +1 -3
  130. package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
  131. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +4 -2
  132. package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
  133. package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
  134. package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
  135. package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
  136. package/Libraries/Core/Devtools/symbolicateStackTrace.js +5 -4
  137. package/Libraries/Core/ExceptionsManager.js +6 -4
  138. package/Libraries/Core/InitializeCore.js +5 -2
  139. package/Libraries/Core/NativeExceptionsManager.js +2 -2
  140. package/Libraries/Core/RawEventEmitter.js +2 -2
  141. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  142. package/Libraries/Core/ReactNativeVersion.js +3 -5
  143. package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
  144. package/Libraries/Core/ReactNativeVersionCheck.win32.js +2 -4
  145. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
  146. package/Libraries/Core/Timers/JSTimers.js +4 -4
  147. package/Libraries/Core/Timers/NativeTiming.js +2 -2
  148. package/Libraries/Core/Timers/immediateShim.js +2 -9
  149. package/Libraries/Core/polyfillPromise.js +1 -1
  150. package/Libraries/Core/registerCallableModule.js +1 -1
  151. package/Libraries/Core/setUpAlert.js +1 -1
  152. package/Libraries/Core/setUpBatchedBridge.js +4 -3
  153. package/Libraries/Core/setUpDeveloperTools.js +2 -9
  154. package/Libraries/Core/setUpErrorHandling.js +2 -2
  155. package/Libraries/Core/setUpReactDevTools.js +23 -5
  156. package/Libraries/Core/setUpTimers.js +45 -66
  157. package/Libraries/Core/setUpXHR.js +6 -6
  158. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  159. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  160. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  161. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  162. package/Libraries/Events/CustomEvent.js +2 -2
  163. package/Libraries/Image/AssetRegistry.js +8 -1
  164. package/Libraries/Image/AssetSourceResolver.js +3 -3
  165. package/Libraries/Image/Image.android.js +3 -1
  166. package/Libraries/Image/Image.ios.js +1 -1
  167. package/Libraries/Image/Image.win32.js +1 -1
  168. package/Libraries/Image/ImageBackground.js +1 -1
  169. package/Libraries/Image/ImageProps.js +17 -17
  170. package/Libraries/Image/ImageViewNativeComponent.js +4 -5
  171. package/Libraries/Image/NativeImageEditor.js +2 -2
  172. package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
  173. package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
  174. package/Libraries/Image/NativeImageLoaderWin32.js +2 -2
  175. package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
  176. package/Libraries/Image/NativeImageStoreIOS.js +2 -2
  177. package/Libraries/Image/RelativeImageStub.js +3 -1
  178. package/Libraries/Image/nativeImageSource.js +3 -3
  179. package/Libraries/Image/resolveAssetSource.js +4 -2
  180. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  181. package/Libraries/Interaction/InteractionManager.js +11 -8
  182. package/Libraries/Interaction/InteractionManagerStub.js +1 -1
  183. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  184. package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
  185. package/Libraries/Interaction/PanResponder.js +8 -8
  186. package/Libraries/Interaction/TaskQueue.js +1 -1
  187. package/Libraries/Interaction/TouchHistoryMath.js +27 -1
  188. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
  189. package/Libraries/Linking/Linking.d.ts +3 -3
  190. package/Libraries/Linking/Linking.js +10 -9
  191. package/Libraries/Linking/NativeIntentAndroid.js +2 -2
  192. package/Libraries/Linking/NativeLinkingManager.js +2 -2
  193. package/Libraries/Lists/FillRateHelper.js +1 -1
  194. package/Libraries/Lists/FlatList.js +10 -11
  195. package/Libraries/Lists/SectionList.js +7 -9
  196. package/Libraries/Lists/SectionListModern.js +6 -6
  197. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  198. package/Libraries/Lists/VirtualizeUtils.js +1 -3
  199. package/Libraries/Lists/VirtualizedList.js +1 -1
  200. package/Libraries/Lists/VirtualizedListContext.js +1 -3
  201. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  202. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
  203. package/Libraries/LogBox/Data/LogBoxData.js +15 -15
  204. package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
  205. package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
  206. package/Libraries/LogBox/LogBox.js +13 -1
  207. package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
  208. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
  209. package/Libraries/LogBox/UI/LogBoxButton.js +4 -4
  210. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
  211. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
  212. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
  213. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +2 -2
  214. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
  215. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -2
  216. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  217. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
  218. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
  219. package/Libraries/Modal/Modal.js +10 -10
  220. package/Libraries/Modal/NativeModalManager.js +2 -2
  221. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  222. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  223. package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
  224. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
  225. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
  226. package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
  227. package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
  228. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
  229. package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
  230. package/Libraries/Network/NativeNetworkingIOS.js +2 -2
  231. package/Libraries/Network/RCTNetworking.android.js +1 -1
  232. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  233. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  234. package/Libraries/Network/XMLHttpRequest.js +11 -685
  235. package/Libraries/Network/XMLHttpRequest_new.js +790 -0
  236. package/Libraries/Network/XMLHttpRequest_old.js +697 -0
  237. package/Libraries/Network/convertRequestBody.js +3 -1
  238. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
  239. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  240. package/Libraries/Pressability/Pressability.js +10 -10
  241. package/Libraries/Pressability/Pressability.win32.js +10 -10
  242. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  243. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
  244. package/Libraries/Promise.js +2 -2
  245. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
  246. package/Libraries/ReactNative/AppContainer-dev.js +2 -2
  247. package/Libraries/ReactNative/AppContainer.js +3 -3
  248. package/Libraries/ReactNative/AppRegistry.js +1 -1
  249. package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
  250. package/Libraries/ReactNative/FabricUIManager.js +18 -8
  251. package/Libraries/ReactNative/I18nManager.js +4 -3
  252. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
  253. package/Libraries/ReactNative/NativeI18nManager.js +2 -2
  254. package/Libraries/ReactNative/NativeUIManager.js +2 -2
  255. package/Libraries/ReactNative/PaperUIManager.js +3 -4
  256. package/Libraries/ReactNative/PaperUIManager.win32.js +3 -4
  257. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -31
  258. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
  259. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
  260. package/Libraries/ReactNative/RendererImplementation.js +9 -0
  261. package/Libraries/ReactNative/UIManager.d.ts +1 -0
  262. package/Libraries/ReactNative/UIManager.js +3 -3
  263. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  264. package/Libraries/ReactNative/getNativeComponentAttributes.js +6 -5
  265. package/Libraries/ReactNative/requireNativeComponent.js +2 -1
  266. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +12 -6
  267. package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -1
  268. package/Libraries/Settings/NativeSettingsManager.js +2 -2
  269. package/Libraries/Settings/Settings.ios.js +1 -1
  270. package/Libraries/Settings/Settings.js +1 -1
  271. package/Libraries/Settings/Settings.win32.js +1 -1
  272. package/Libraries/Share/NativeShareModule.js +2 -2
  273. package/Libraries/Share/Share.js +1 -1
  274. package/Libraries/StyleSheet/Rect.js +2 -2
  275. package/Libraries/StyleSheet/StyleSheet.js +3 -2
  276. package/Libraries/StyleSheet/StyleSheet.win32.js +3 -2
  277. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  278. package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
  279. package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
  280. package/Libraries/StyleSheet/processBoxShadow.js +4 -0
  281. package/Libraries/StyleSheet/processColorArray.js +1 -1
  282. package/Libraries/Text/Text.js +1 -1
  283. package/Libraries/Text/Text.win32.js +1 -1
  284. package/Libraries/Text/TextAncestor.js +2 -3
  285. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  286. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
  287. package/Libraries/Types/CodegenTypes.js +2 -1
  288. package/Libraries/Types/CoreEventTypes.js +42 -40
  289. package/Libraries/Types/CoreEventTypes.win32.js +42 -40
  290. package/Libraries/UTFSequence.js +2 -2
  291. package/Libraries/Utilities/Appearance.js +0 -8
  292. package/Libraries/Utilities/BackHandler.android.js +2 -2
  293. package/Libraries/Utilities/BackHandler.ios.js +2 -2
  294. package/Libraries/Utilities/BackHandler.win32.js +2 -2
  295. package/Libraries/Utilities/HMRClient.js +2 -2
  296. package/Libraries/Utilities/NativeAppearance.js +2 -2
  297. package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
  298. package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
  299. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
  300. package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
  301. package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
  302. package/Libraries/Utilities/Platform.android.js +4 -4
  303. package/Libraries/Utilities/Platform.flow.js +8 -8
  304. package/Libraries/Utilities/Platform.flow.win32.js +8 -8
  305. package/Libraries/Utilities/Platform.ios.js +4 -4
  306. package/Libraries/Utilities/Platform.win32.js +2 -2
  307. package/Libraries/Utilities/ReactNativeTestTools.js +5 -5
  308. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  309. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  310. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  311. package/Libraries/Utilities/dismissKeyboard.js +2 -1
  312. package/Libraries/Utilities/stringifySafe.js +2 -2
  313. package/Libraries/Vibration/NativeVibration.js +2 -2
  314. package/Libraries/Vibration/Vibration.js +1 -1
  315. package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
  316. package/Libraries/WebSocket/WebSocket.js +8 -285
  317. package/Libraries/WebSocket/WebSocketEvent.js +2 -2
  318. package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
  319. package/Libraries/WebSocket/WebSocket_new.js +325 -0
  320. package/Libraries/WebSocket/WebSocket_old.js +297 -0
  321. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  322. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  323. package/flow/jest.js +14 -14
  324. package/index.js +40 -38
  325. package/index.win32.js +40 -38
  326. package/jest/mockScrollView.js +1 -1
  327. package/jest/setup.js +305 -262
  328. package/overrides.json +44 -56
  329. package/package.json +17 -17
  330. package/src/private/animated/createAnimatedPropsHook.js +360 -0
  331. package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
  332. package/src/private/components/HScrollViewNativeComponents.js +1 -1
  333. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  334. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
  335. package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
  336. package/src/private/devmenu/DevMenu.js +1 -1
  337. package/src/private/featureflags/ReactNativeFeatureFlags.js +29 -55
  338. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -1
  339. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +4 -8
  340. package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
  341. package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
  342. package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +8 -8
  343. package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +18 -15
  344. package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
  345. package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +9 -8
  346. package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
  347. package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +40 -24
  348. package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +7 -6
  349. package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +9 -8
  350. package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
  351. package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +1 -1
  352. package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +5 -3
  353. package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
  354. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -4
  355. package/src/private/setup/setUpDOM.js +7 -2
  356. package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +2 -2
  357. package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +6 -6
  358. package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  359. package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  360. package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +4 -4
  361. package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +2 -2
  362. package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +2 -2
  363. package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +2 -2
  364. package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  365. package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +4 -4
  366. package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +2 -2
  367. package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +4 -4
  368. package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +2 -2
  369. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +2 -2
  370. package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +7 -7
  371. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +2 -2
  372. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +2 -2
  373. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +2 -2
  374. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +3 -3
  375. package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +1 -1
  376. package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +1 -1
  377. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
  378. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
  379. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +8 -8
  380. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +4 -4
  381. package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +2 -2
  382. package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +1 -1
  383. package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +2 -2
  384. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +9 -9
  385. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +1 -1
  386. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +1 -1
  387. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +1 -1
  388. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +1 -1
  389. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +3 -3
  390. package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +2 -2
  391. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +4 -4
  392. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +4 -4
  393. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +5 -10
  394. package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +7 -7
  395. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +2 -2
  396. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +2 -2
  397. package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +3 -3
  398. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +2 -2
  399. package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +4 -4
  400. package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +6 -6
  401. package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +2 -2
  402. package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
  403. package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
  404. package/src/private/webapis/dom/events/CustomEvent.js +40 -0
  405. package/src/private/webapis/dom/events/Event.js +236 -0
  406. package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
  407. package/src/private/webapis/dom/events/EventTarget.js +436 -0
  408. package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
  409. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
  410. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +120 -0
  411. package/src/private/webapis/dom/nodes/ReactNativeElement.js +48 -25
  412. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +6 -5
  413. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +25 -25
  414. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +55 -77
  415. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
  416. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
  417. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +43 -0
  418. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
  419. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  420. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  421. package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
  422. package/src/private/webapis/html/events/MessageEvent.js +63 -0
  423. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +2 -2
  424. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  425. package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +20 -17
  426. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  427. package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +12 -14
  428. package/src/private/webapis/performance/EventTiming.js +1 -1
  429. package/src/private/webapis/performance/Performance.js +3 -3
  430. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  431. package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
  432. package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
  433. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
  434. package/src/private/webapis/websockets/events/CloseEvent.js +54 -0
  435. package/src/private/webapis/xhr/events/ProgressEvent.js +54 -0
  436. package/types/index.d.ts +0 -5
  437. package/Libraries/Animated/AnimatedWeb.js +0 -26
  438. package/Libraries/Inspector/Inspector.win32.js +0 -212
  439. package/Libraries/Inspector/InspectorOverlay.win32.js +0 -68
  440. package/Libraries/JSInspector/InspectorAgent.js +0 -27
  441. package/Libraries/JSInspector/JSInspector.js +0 -33
  442. package/Libraries/JSInspector/NetworkAgent.js +0 -295
  443. package/Libraries/Utilities/DebugEnvironment.js +0 -16
  444. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
  445. package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
  446. package/src/private/specs/modules/NativeCPUTime.js +0 -24
  447. package/src/private/specs/modules/NativeFantom.js +0 -37
  448. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
  449. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfoWin32.js +0 -0
  450. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
  451. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
  452. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
  453. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
  454. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
  455. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
  456. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
  457. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
  458. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
  459. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
  460. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
  461. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
  462. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
  463. /package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +0 -0
  464. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
  465. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
  466. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
  467. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
  468. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
  469. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeUIManager.js +0 -0
  470. /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
  471. /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
  472. /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
  473. /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
@@ -10,7 +10,7 @@
10
10
 
11
11
  const registry: Map<string, number> = new Map();
12
12
 
13
- const register = (id: string) => {
13
+ export const register = (id: string) => {
14
14
  const used = registry.get(id);
15
15
 
16
16
  if (used != null) {
@@ -20,7 +20,7 @@ const register = (id: string) => {
20
20
  }
21
21
  };
22
22
 
23
- const unregister = (id: string) => {
23
+ export const unregister = (id: string) => {
24
24
  const used = registry.get(id);
25
25
 
26
26
  if (used != null) {
@@ -32,12 +32,6 @@ const unregister = (id: string) => {
32
32
  }
33
33
  };
34
34
 
35
- const has = (id: string): number | boolean => {
35
+ export const has = (id: string): number | boolean => {
36
36
  return registry.get(id) || false;
37
37
  };
38
-
39
- module.exports = {
40
- register,
41
- unregister,
42
- has,
43
- };
@@ -12,7 +12,8 @@
12
12
 
13
13
  import type {BlobOptions} from './BlobTypes';
14
14
 
15
- const Blob = require('./Blob');
15
+ import Blob from './Blob';
16
+
16
17
  const invariant = require('invariant');
17
18
 
18
19
  /**
@@ -52,4 +53,4 @@ class File extends Blob {
52
53
  }
53
54
  }
54
55
 
55
- module.exports = File;
56
+ export default File;
@@ -8,179 +8,13 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type Blob from './Blob';
11
+ import typeof FileReader from './FileReader_old';
12
12
 
13
- import NativeFileReaderModule from './NativeFileReaderModule';
14
- import {toByteArray} from 'base64-js';
15
- import EventTarget from 'event-target-shim';
13
+ // Use a global instead of a flag from ReactNativeFeatureFlags because this will
14
+ // be read before apps have a chance to set overrides.
15
+ const useBuiltInEventTarget = global.RN$useBuiltInEventTarget?.();
16
16
 
17
- type ReadyState =
18
- | 0 // EMPTY
19
- | 1 // LOADING
20
- | 2; // DONE
21
-
22
- type ReaderResult = string | ArrayBuffer;
23
-
24
- const READER_EVENTS = [
25
- 'abort',
26
- 'error',
27
- 'load',
28
- 'loadstart',
29
- 'loadend',
30
- 'progress',
31
- ];
32
-
33
- const EMPTY = 0;
34
- const LOADING = 1;
35
- const DONE = 2;
36
-
37
- class FileReader extends (EventTarget(...READER_EVENTS): typeof EventTarget) {
38
- static EMPTY: number = EMPTY;
39
- static LOADING: number = LOADING;
40
- static DONE: number = DONE;
41
-
42
- EMPTY: number = EMPTY;
43
- LOADING: number = LOADING;
44
- DONE: number = DONE;
45
-
46
- _readyState: ReadyState;
47
- _error: ?Error;
48
- _result: ?ReaderResult;
49
- _aborted: boolean = false;
50
-
51
- constructor() {
52
- super();
53
- this._reset();
54
- }
55
-
56
- _reset(): void {
57
- this._readyState = EMPTY;
58
- this._error = null;
59
- this._result = null;
60
- }
61
-
62
- _setReadyState(newState: ReadyState) {
63
- this._readyState = newState;
64
- this.dispatchEvent({type: 'readystatechange'});
65
- if (newState === DONE) {
66
- if (this._aborted) {
67
- this.dispatchEvent({type: 'abort'});
68
- } else if (this._error) {
69
- this.dispatchEvent({type: 'error'});
70
- } else {
71
- this.dispatchEvent({type: 'load'});
72
- }
73
- this.dispatchEvent({type: 'loadend'});
74
- }
75
- }
76
-
77
- readAsArrayBuffer(blob: ?Blob): void {
78
- this._aborted = false;
79
-
80
- if (blob == null) {
81
- throw new TypeError(
82
- "Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'",
83
- );
84
- }
85
-
86
- NativeFileReaderModule.readAsDataURL(blob.data).then(
87
- (text: string) => {
88
- if (this._aborted) {
89
- return;
90
- }
91
-
92
- const base64 = text.split(',')[1];
93
- const typedArray = toByteArray(base64);
94
-
95
- this._result = typedArray.buffer;
96
- this._setReadyState(DONE);
97
- },
98
- error => {
99
- if (this._aborted) {
100
- return;
101
- }
102
- this._error = error;
103
- this._setReadyState(DONE);
104
- },
105
- );
106
- }
107
-
108
- readAsDataURL(blob: ?Blob): void {
109
- this._aborted = false;
110
-
111
- if (blob == null) {
112
- throw new TypeError(
113
- "Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'",
114
- );
115
- }
116
-
117
- NativeFileReaderModule.readAsDataURL(blob.data).then(
118
- (text: string) => {
119
- if (this._aborted) {
120
- return;
121
- }
122
- this._result = text;
123
- this._setReadyState(DONE);
124
- },
125
- error => {
126
- if (this._aborted) {
127
- return;
128
- }
129
- this._error = error;
130
- this._setReadyState(DONE);
131
- },
132
- );
133
- }
134
-
135
- readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {
136
- this._aborted = false;
137
-
138
- if (blob == null) {
139
- throw new TypeError(
140
- "Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'",
141
- );
142
- }
143
-
144
- NativeFileReaderModule.readAsText(blob.data, encoding).then(
145
- (text: string) => {
146
- if (this._aborted) {
147
- return;
148
- }
149
- this._result = text;
150
- this._setReadyState(DONE);
151
- },
152
- error => {
153
- if (this._aborted) {
154
- return;
155
- }
156
- this._error = error;
157
- this._setReadyState(DONE);
158
- },
159
- );
160
- }
161
-
162
- abort() {
163
- this._aborted = true;
164
- // only call onreadystatechange if there is something to abort, as per spec
165
- if (this._readyState !== EMPTY && this._readyState !== DONE) {
166
- this._reset();
167
- this._setReadyState(DONE);
168
- }
169
- // Reset again after, in case modified in handler
170
- this._reset();
171
- }
172
-
173
- get readyState(): ReadyState {
174
- return this._readyState;
175
- }
176
-
177
- get error(): ?Error {
178
- return this._error;
179
- }
180
-
181
- get result(): ?ReaderResult {
182
- return this._result;
183
- }
184
- }
185
-
186
- module.exports = FileReader;
17
+ export default (useBuiltInEventTarget
18
+ ? // $FlowExpectedError[incompatible-cast]
19
+ require('./FileReader_new').default
20
+ : require('./FileReader_old').default) as FileReader;
@@ -0,0 +1,231 @@
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 {EventCallback} from '../../src/private/webapis/dom/events/EventTarget';
12
+ import type Blob from './Blob';
13
+
14
+ import Event from '../../src/private/webapis/dom/events/Event';
15
+ import {
16
+ getEventHandlerAttribute,
17
+ setEventHandlerAttribute,
18
+ } from '../../src/private/webapis/dom/events/EventHandlerAttributes';
19
+ import EventTarget from '../../src/private/webapis/dom/events/EventTarget';
20
+ import NativeFileReaderModule from './NativeFileReaderModule';
21
+ import {toByteArray} from 'base64-js';
22
+
23
+ type ReadyState =
24
+ | 0 // EMPTY
25
+ | 1 // LOADING
26
+ | 2; // DONE
27
+
28
+ type ReaderResult = string | ArrayBuffer;
29
+
30
+ const EMPTY = 0;
31
+ const LOADING = 1;
32
+ const DONE = 2;
33
+
34
+ class FileReader extends EventTarget {
35
+ static EMPTY: number = EMPTY;
36
+ static LOADING: number = LOADING;
37
+ static DONE: number = DONE;
38
+
39
+ EMPTY: number = EMPTY;
40
+ LOADING: number = LOADING;
41
+ DONE: number = DONE;
42
+
43
+ _readyState: ReadyState;
44
+ _error: ?Error;
45
+ _result: ?ReaderResult;
46
+ _aborted: boolean = false;
47
+
48
+ constructor() {
49
+ super();
50
+ this._reset();
51
+ }
52
+
53
+ _reset(): void {
54
+ this._readyState = EMPTY;
55
+ this._error = null;
56
+ this._result = null;
57
+ }
58
+
59
+ _setReadyState(newState: ReadyState) {
60
+ this._readyState = newState;
61
+ this.dispatchEvent(new Event('readystatechange'));
62
+ if (newState === DONE) {
63
+ if (this._aborted) {
64
+ this.dispatchEvent(new Event('abort'));
65
+ } else if (this._error) {
66
+ this.dispatchEvent(new Event('error'));
67
+ } else {
68
+ this.dispatchEvent(new Event('load'));
69
+ }
70
+ this.dispatchEvent(new Event('loadend'));
71
+ }
72
+ }
73
+
74
+ readAsArrayBuffer(blob: ?Blob): void {
75
+ this._aborted = false;
76
+
77
+ if (blob == null) {
78
+ throw new TypeError(
79
+ "Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'",
80
+ );
81
+ }
82
+
83
+ NativeFileReaderModule.readAsDataURL(blob.data).then(
84
+ (text: string) => {
85
+ if (this._aborted) {
86
+ return;
87
+ }
88
+
89
+ const base64 = text.split(',')[1];
90
+ const typedArray = toByteArray(base64);
91
+
92
+ this._result = typedArray.buffer;
93
+ this._setReadyState(DONE);
94
+ },
95
+ error => {
96
+ if (this._aborted) {
97
+ return;
98
+ }
99
+ this._error = error;
100
+ this._setReadyState(DONE);
101
+ },
102
+ );
103
+ }
104
+
105
+ readAsDataURL(blob: ?Blob): void {
106
+ this._aborted = false;
107
+
108
+ if (blob == null) {
109
+ throw new TypeError(
110
+ "Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'",
111
+ );
112
+ }
113
+
114
+ NativeFileReaderModule.readAsDataURL(blob.data).then(
115
+ (text: string) => {
116
+ if (this._aborted) {
117
+ return;
118
+ }
119
+ this._result = text;
120
+ this._setReadyState(DONE);
121
+ },
122
+ error => {
123
+ if (this._aborted) {
124
+ return;
125
+ }
126
+ this._error = error;
127
+ this._setReadyState(DONE);
128
+ },
129
+ );
130
+ }
131
+
132
+ readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {
133
+ this._aborted = false;
134
+
135
+ if (blob == null) {
136
+ throw new TypeError(
137
+ "Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'",
138
+ );
139
+ }
140
+
141
+ NativeFileReaderModule.readAsText(blob.data, encoding).then(
142
+ (text: string) => {
143
+ if (this._aborted) {
144
+ return;
145
+ }
146
+ this._result = text;
147
+ this._setReadyState(DONE);
148
+ },
149
+ error => {
150
+ if (this._aborted) {
151
+ return;
152
+ }
153
+ this._error = error;
154
+ this._setReadyState(DONE);
155
+ },
156
+ );
157
+ }
158
+
159
+ abort() {
160
+ this._aborted = true;
161
+ // only call onreadystatechange if there is something to abort, as per spec
162
+ if (this._readyState !== EMPTY && this._readyState !== DONE) {
163
+ this._reset();
164
+ this._setReadyState(DONE);
165
+ }
166
+ // Reset again after, in case modified in handler
167
+ this._reset();
168
+ }
169
+
170
+ get readyState(): ReadyState {
171
+ return this._readyState;
172
+ }
173
+
174
+ get error(): ?Error {
175
+ return this._error;
176
+ }
177
+
178
+ get result(): ?ReaderResult {
179
+ return this._result;
180
+ }
181
+
182
+ get onabort(): EventCallback | null {
183
+ return getEventHandlerAttribute(this, 'abort');
184
+ }
185
+
186
+ set onabort(listener: ?EventCallback) {
187
+ setEventHandlerAttribute(this, 'abort', listener);
188
+ }
189
+
190
+ get onerror(): EventCallback | null {
191
+ return getEventHandlerAttribute(this, 'error');
192
+ }
193
+
194
+ set onerror(listener: ?EventCallback) {
195
+ setEventHandlerAttribute(this, 'error', listener);
196
+ }
197
+
198
+ get onload(): EventCallback | null {
199
+ return getEventHandlerAttribute(this, 'load');
200
+ }
201
+
202
+ set onload(listener: ?EventCallback) {
203
+ setEventHandlerAttribute(this, 'load', listener);
204
+ }
205
+
206
+ get onloadstart(): EventCallback | null {
207
+ return getEventHandlerAttribute(this, 'loadstart');
208
+ }
209
+
210
+ set onloadstart(listener: ?EventCallback) {
211
+ setEventHandlerAttribute(this, 'loadstart', listener);
212
+ }
213
+
214
+ get onloadend(): EventCallback | null {
215
+ return getEventHandlerAttribute(this, 'loadend');
216
+ }
217
+
218
+ set onloadend(listener: ?EventCallback) {
219
+ setEventHandlerAttribute(this, 'loadend', listener);
220
+ }
221
+
222
+ get onprogress(): EventCallback | null {
223
+ return getEventHandlerAttribute(this, 'progress');
224
+ }
225
+
226
+ set onprogress(listener: ?EventCallback) {
227
+ setEventHandlerAttribute(this, 'progress', listener);
228
+ }
229
+ }
230
+
231
+ export default FileReader;
@@ -0,0 +1,186 @@
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 Blob from './Blob';
12
+
13
+ import NativeFileReaderModule from './NativeFileReaderModule';
14
+ import {toByteArray} from 'base64-js';
15
+ import EventTarget from 'event-target-shim';
16
+
17
+ type ReadyState =
18
+ | 0 // EMPTY
19
+ | 1 // LOADING
20
+ | 2; // DONE
21
+
22
+ type ReaderResult = string | ArrayBuffer;
23
+
24
+ const READER_EVENTS = [
25
+ 'abort',
26
+ 'error',
27
+ 'load',
28
+ 'loadstart',
29
+ 'loadend',
30
+ 'progress',
31
+ ];
32
+
33
+ const EMPTY = 0;
34
+ const LOADING = 1;
35
+ const DONE = 2;
36
+
37
+ class FileReader extends (EventTarget(...READER_EVENTS): typeof EventTarget) {
38
+ static EMPTY: number = EMPTY;
39
+ static LOADING: number = LOADING;
40
+ static DONE: number = DONE;
41
+
42
+ EMPTY: number = EMPTY;
43
+ LOADING: number = LOADING;
44
+ DONE: number = DONE;
45
+
46
+ _readyState: ReadyState;
47
+ _error: ?Error;
48
+ _result: ?ReaderResult;
49
+ _aborted: boolean = false;
50
+
51
+ constructor() {
52
+ super();
53
+ this._reset();
54
+ }
55
+
56
+ _reset(): void {
57
+ this._readyState = EMPTY;
58
+ this._error = null;
59
+ this._result = null;
60
+ }
61
+
62
+ _setReadyState(newState: ReadyState) {
63
+ this._readyState = newState;
64
+ this.dispatchEvent({type: 'readystatechange'});
65
+ if (newState === DONE) {
66
+ if (this._aborted) {
67
+ this.dispatchEvent({type: 'abort'});
68
+ } else if (this._error) {
69
+ this.dispatchEvent({type: 'error'});
70
+ } else {
71
+ this.dispatchEvent({type: 'load'});
72
+ }
73
+ this.dispatchEvent({type: 'loadend'});
74
+ }
75
+ }
76
+
77
+ readAsArrayBuffer(blob: ?Blob): void {
78
+ this._aborted = false;
79
+
80
+ if (blob == null) {
81
+ throw new TypeError(
82
+ "Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'",
83
+ );
84
+ }
85
+
86
+ NativeFileReaderModule.readAsDataURL(blob.data).then(
87
+ (text: string) => {
88
+ if (this._aborted) {
89
+ return;
90
+ }
91
+
92
+ const base64 = text.split(',')[1];
93
+ const typedArray = toByteArray(base64);
94
+
95
+ this._result = typedArray.buffer;
96
+ this._setReadyState(DONE);
97
+ },
98
+ error => {
99
+ if (this._aborted) {
100
+ return;
101
+ }
102
+ this._error = error;
103
+ this._setReadyState(DONE);
104
+ },
105
+ );
106
+ }
107
+
108
+ readAsDataURL(blob: ?Blob): void {
109
+ this._aborted = false;
110
+
111
+ if (blob == null) {
112
+ throw new TypeError(
113
+ "Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'",
114
+ );
115
+ }
116
+
117
+ NativeFileReaderModule.readAsDataURL(blob.data).then(
118
+ (text: string) => {
119
+ if (this._aborted) {
120
+ return;
121
+ }
122
+ this._result = text;
123
+ this._setReadyState(DONE);
124
+ },
125
+ error => {
126
+ if (this._aborted) {
127
+ return;
128
+ }
129
+ this._error = error;
130
+ this._setReadyState(DONE);
131
+ },
132
+ );
133
+ }
134
+
135
+ readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {
136
+ this._aborted = false;
137
+
138
+ if (blob == null) {
139
+ throw new TypeError(
140
+ "Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'",
141
+ );
142
+ }
143
+
144
+ NativeFileReaderModule.readAsText(blob.data, encoding).then(
145
+ (text: string) => {
146
+ if (this._aborted) {
147
+ return;
148
+ }
149
+ this._result = text;
150
+ this._setReadyState(DONE);
151
+ },
152
+ error => {
153
+ if (this._aborted) {
154
+ return;
155
+ }
156
+ this._error = error;
157
+ this._setReadyState(DONE);
158
+ },
159
+ );
160
+ }
161
+
162
+ abort() {
163
+ this._aborted = true;
164
+ // only call onreadystatechange if there is something to abort, as per spec
165
+ if (this._readyState !== EMPTY && this._readyState !== DONE) {
166
+ this._reset();
167
+ this._setReadyState(DONE);
168
+ }
169
+ // Reset again after, in case modified in handler
170
+ this._reset();
171
+ }
172
+
173
+ get readyState(): ReadyState {
174
+ return this._readyState;
175
+ }
176
+
177
+ get error(): ?Error {
178
+ return this._error;
179
+ }
180
+
181
+ get result(): ?ReaderResult {
182
+ return this._result;
183
+ }
184
+ }
185
+
186
+ export default FileReader;
@@ -8,6 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- export * from '../../src/private/specs/modules/NativeBlobModule';
12
- import NativeBlobModule from '../../src/private/specs/modules/NativeBlobModule';
11
+ export * from '../../src/private/specs_DEPRECATED/modules/NativeBlobModule';
12
+ import NativeBlobModule from '../../src/private/specs_DEPRECATED/modules/NativeBlobModule';
13
13
  export default NativeBlobModule;
@@ -8,6 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- export * from '../../src/private/specs/modules/NativeFileReaderModule';
12
- import NativeFileReaderModule from '../../src/private/specs/modules/NativeFileReaderModule';
11
+ export * from '../../src/private/specs_DEPRECATED/modules/NativeFileReaderModule';
12
+ import NativeFileReaderModule from '../../src/private/specs_DEPRECATED/modules/NativeFileReaderModule';
13
13
  export default NativeFileReaderModule;
@@ -48,8 +48,7 @@ export class URLSearchParams {
48
48
  }
49
49
 
50
50
  // $FlowFixMe[unsupported-syntax]
51
- // $FlowFixMe[missing-local-annot]
52
- [Symbol.iterator]() {
51
+ [Symbol.iterator](): Iterator<Array<string>> {
53
52
  return this._searchParams[Symbol.iterator]();
54
53
  }
55
54
 
@@ -23,7 +23,7 @@ type DebugData = {
23
23
 
24
24
  function defaultExtras() {
25
25
  BugReporting.addFileSource('react_hierarchy.txt', () =>
26
- require('./dumpReactTree')(),
26
+ require('./dumpReactTree').default(),
27
27
  );
28
28
  }
29
29
 
@@ -137,4 +137,4 @@ class BugReporting {
137
137
  }
138
138
  }
139
139
 
140
- module.exports = BugReporting;
140
+ export default BugReporting;
@@ -8,6 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- export * from '../../src/private/specs/modules/NativeBugReporting';
12
- import NativeBugReporting from '../../src/private/specs/modules/NativeBugReporting';
11
+ export * from '../../src/private/specs_DEPRECATED/modules/NativeBugReporting';
12
+ import NativeBugReporting from '../../src/private/specs_DEPRECATED/modules/NativeBugReporting';
13
13
  export default NativeBugReporting;