@office-iss/react-native-win32 0.73.2 → 0.74.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 (479) hide show
  1. package/.eslintignore +1 -1
  2. package/.flowconfig +11 -3
  3. package/CHANGELOG.json +411 -54
  4. package/CHANGELOG.md +157 -30
  5. package/IntegrationTests/AccessibilityManagerTest.js +2 -2
  6. package/IntegrationTests/AppEventsTest.js +2 -2
  7. package/IntegrationTests/LayoutEventsTest.js +8 -10
  8. package/IntegrationTests/LoggingTestModule.js +1 -2
  9. package/IntegrationTests/websocket_integration_test_server.js +1 -1
  10. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  11. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  12. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  13. package/Libraries/Alert/NativeAlertManager.js +4 -26
  14. package/Libraries/Animated/Animated.js +2 -2
  15. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  16. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  17. package/Libraries/Animated/NativeAnimatedHelper.win32.js +14 -11
  18. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  19. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  20. package/Libraries/Animated/animations/Animation.js +6 -22
  21. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  22. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  23. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  24. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  25. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  26. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  27. package/Libraries/Animated/useAnimatedProps.js +21 -1
  28. package/Libraries/AppState/NativeAppState.js +4 -24
  29. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  30. package/Libraries/Blob/Blob.js +1 -4
  31. package/Libraries/Blob/BlobManager.js +6 -8
  32. package/Libraries/Blob/File.js +1 -1
  33. package/Libraries/Blob/NativeBlobModule.js +4 -50
  34. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  35. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  36. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +5 -1
  37. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +48 -7
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +11 -0
  40. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  41. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  42. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +3 -2
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  44. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  45. package/Libraries/Components/Button/ButtonWin32.Props.d.ts +36 -36
  46. package/Libraries/Components/Button/ButtonWin32.Props.js +2 -2
  47. package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -1
  48. package/Libraries/Components/Button/ButtonWin32.d.ts +19 -19
  49. package/Libraries/Components/Button/ButtonWin32.js +82 -82
  50. package/Libraries/Components/Button/ButtonWin32.js.map +1 -1
  51. package/Libraries/Components/Button.js +103 -107
  52. package/Libraries/Components/Button.win32.js +297 -301
  53. package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
  54. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  56. package/Libraries/Components/EnterString.win32.d.ts +12 -12
  57. package/Libraries/Components/EnterString.win32.js +81 -81
  58. package/Libraries/Components/EnterString.win32.js.map +1 -1
  59. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  60. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.android.js +69 -0
  61. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.d.ts +24 -0
  62. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.js +33 -0
  63. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroidNativeComponent.js +13 -0
  64. package/Libraries/Components/Pressable/Pressable.js +1 -1
  65. package/Libraries/Components/Pressable/Pressable.win32.js +1 -1
  66. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  67. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  68. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  69. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  70. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  71. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  72. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  73. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  74. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  75. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  76. package/Libraries/Components/ScrollView/ScrollView.win32.js +12 -38
  77. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  78. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  79. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  80. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  81. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  82. package/Libraries/Components/Switch/Switch.js +0 -2
  83. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  84. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  85. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  86. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  87. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  88. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
  89. package/Libraries/Components/TextInput/Tests/TextInputTest.js +127 -127
  90. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
  91. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  92. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  93. package/Libraries/Components/TextInput/TextInput.js +65 -32
  94. package/Libraries/Components/TextInput/TextInput.win32.js +70 -37
  95. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  96. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  97. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
  98. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +343 -344
  99. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  100. package/Libraries/Components/Touchable/Touchable.js +2 -3
  101. package/Libraries/Components/Touchable/Touchable.win32.js +2 -3
  102. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  103. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  104. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  105. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -37
  106. package/Libraries/Components/Touchable/TouchableWin32.Props.js +2 -2
  107. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  108. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
  109. package/Libraries/Components/Touchable/TouchableWin32.Types.js +2 -2
  110. package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -1
  111. package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
  112. package/Libraries/Components/Touchable/TouchableWin32.js +506 -506
  113. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  114. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  115. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  116. package/Libraries/Components/View/View.js +0 -11
  117. package/Libraries/Components/View/View.win32.js +18 -17
  118. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  119. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  120. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  121. package/Libraries/Components/View/ViewPropTypes.win32.js +36 -36
  122. package/Libraries/Core/InitializeCore.js +1 -1
  123. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  124. package/Libraries/Core/ReactNativeVersion.js +12 -6
  125. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  126. package/Libraries/Core/ReactNativeVersionCheck.win32.js +6 -6
  127. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  128. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  129. package/Libraries/Core/registerCallableModule.js +42 -0
  130. package/Libraries/Core/setUpPerformance.js +2 -2
  131. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  132. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  133. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  134. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  135. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  136. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  137. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  138. package/Libraries/Image/AssetSourceResolver.js +5 -5
  139. package/Libraries/Image/AssetUtils.js +4 -5
  140. package/Libraries/Image/Image.android.js +146 -174
  141. package/Libraries/Image/Image.d.ts +1 -1
  142. package/Libraries/Image/Image.ios.js +53 -79
  143. package/Libraries/Image/Image.win32.js +52 -74
  144. package/Libraries/Image/ImageBackground.js +2 -2
  145. package/Libraries/Image/ImageInjection.js +76 -18
  146. package/Libraries/Image/ImageTypes.d.ts +25 -25
  147. package/Libraries/Image/ImageTypes.flow.js +71 -0
  148. package/Libraries/Image/ImageTypes.js +7 -7
  149. package/Libraries/Image/ImageTypes.js.map +1 -1
  150. package/Libraries/Image/ImageUtils.js +1 -1
  151. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  152. package/Libraries/Image/NativeImageEditor.js +3 -42
  153. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  154. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  155. package/Libraries/Image/NativeImageLoaderWin32.js +4 -36
  156. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  157. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  158. package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
  159. package/Libraries/Image/Tests/ImageWin32Test.js +21 -21
  160. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -1
  161. package/Libraries/Image/resolveAssetSource.js +59 -26
  162. package/Libraries/Inspector/ElementProperties.js +26 -52
  163. package/Libraries/Inspector/Inspector.js +122 -186
  164. package/Libraries/Inspector/Inspector.win32.js +118 -185
  165. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  166. package/Libraries/Inspector/InspectorOverlay.win32.js +22 -33
  167. package/Libraries/Inspector/InspectorPanel.js +3 -17
  168. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  169. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  170. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  171. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  172. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  173. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  174. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  175. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  176. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  177. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  178. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  179. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  180. package/Libraries/Lists/FillRateHelper.js +1 -1
  181. package/Libraries/Lists/FlatList.d.ts +2 -2
  182. package/Libraries/Lists/FlatList.js +6 -1
  183. package/Libraries/Lists/SectionList.d.ts +6 -1
  184. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  185. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  186. package/Libraries/Lists/VirtualizedList.js +1 -1
  187. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  188. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  189. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  190. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  191. package/Libraries/Modal/Modal.js +43 -11
  192. package/Libraries/Modal/NativeModalManager.js +3 -11
  193. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  194. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  195. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  196. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  197. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  198. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  199. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  200. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  201. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  202. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  203. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  204. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  205. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  206. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  207. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  208. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  209. package/Libraries/Network/FormData.js +3 -1
  210. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  211. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  212. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  213. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  214. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  215. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  216. package/Libraries/PersonaCoin/PersonaCoin.js +14 -14
  217. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -1
  218. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  219. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +19 -19
  220. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -1
  221. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  222. package/Libraries/PersonaCoin/PersonaCoinTypes.js +23 -23
  223. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -1
  224. package/Libraries/Pressability/Pressability.js +12 -2
  225. package/Libraries/Pressability/Pressability.win32.js +12 -2
  226. package/Libraries/Pressability/usePressability.js +7 -0
  227. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  228. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  229. package/Libraries/ReactNative/AppContainer-dev.js +192 -0
  230. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  231. package/Libraries/ReactNative/AppContainer.js +6 -149
  232. package/Libraries/ReactNative/AppRegistry.js +3 -1
  233. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  234. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  235. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  236. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  237. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  238. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  239. package/Libraries/ReactNative/PaperUIManager.win32.js +26 -7
  240. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  241. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  242. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  243. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  244. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  245. package/Libraries/ReactNative/UIManager.js +2 -23
  246. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  247. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  248. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  249. package/Libraries/ReactNative/renderApplication.js +9 -6
  250. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  251. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  252. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  253. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  254. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  255. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  256. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  257. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  258. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  259. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  260. package/Libraries/Share/NativeShareModule.js +3 -13
  261. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +1 -1
  262. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  263. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +1 -1
  264. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  265. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  266. package/Libraries/StyleSheet/StyleSheet.win32.js +5 -28
  267. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
  268. package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
  269. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  270. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  271. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  272. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  273. package/Libraries/Text/Text.d.ts +5 -6
  274. package/Libraries/Text/Text.js +0 -6
  275. package/Libraries/Text/Text.win32.js +0 -6
  276. package/Libraries/Text/TextAncestor.js +2 -3
  277. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  278. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  279. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  280. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  281. package/Libraries/Utilities/Dimensions.js +8 -16
  282. package/Libraries/Utilities/Dimensions.win32.js +8 -16
  283. package/Libraries/Utilities/FocusManager.win32.js +2 -0
  284. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  285. package/Libraries/Utilities/NativeAppearance.js +3 -26
  286. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  287. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  288. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  289. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  290. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  291. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  292. package/Libraries/Utilities/Platform.android.js +4 -0
  293. package/Libraries/Utilities/Platform.d.ts +3 -0
  294. package/Libraries/Utilities/Platform.flow.js +7 -0
  295. package/Libraries/Utilities/Platform.flow.win32.js +18 -5
  296. package/Libraries/Utilities/Platform.ios.js +11 -0
  297. package/Libraries/Utilities/Platform.win32.js +9 -1
  298. package/Libraries/Utilities/binaryToBase64.js +1 -1
  299. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  300. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  301. package/Libraries/Utilities/useMergeRefs.js +5 -9
  302. package/Libraries/Vibration/NativeVibration.js +3 -14
  303. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  304. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  305. package/Libraries/platform-types.d.ts +2 -3
  306. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  307. package/babel.config.js +1 -1
  308. package/flow/jest.js +1 -1
  309. package/flow/react.js +15 -0
  310. package/index.js +66 -99
  311. package/index.win32.js +60 -101
  312. package/jest/assetFileTransformer.js +1 -1
  313. package/jest/local-setup.js +0 -5
  314. package/jest/mockModal.js +2 -1
  315. package/jest/mockScrollView.js +1 -2
  316. package/jest/renderer.js +1 -1
  317. package/jest/setup.js +6 -3
  318. package/jest.config.js +2 -1
  319. package/overrides.json +152 -131
  320. package/package.json +26 -26
  321. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  322. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  323. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  324. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  325. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  326. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  327. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  328. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  329. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  330. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  331. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  332. package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
  333. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  334. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  335. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  336. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  337. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  338. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  339. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  340. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  341. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
  342. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  343. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  344. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  345. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  346. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  347. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  348. package/src/private/specs/modules/NativeAppState.js +33 -0
  349. package/src/private/specs/modules/NativeAppearance.js +36 -0
  350. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  351. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  352. package/src/private/specs/modules/NativeClipboard.js +21 -0
  353. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  354. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  355. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  356. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  357. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  358. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  359. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  360. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  361. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  362. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  363. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  364. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  365. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  366. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  367. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  368. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  369. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  370. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  371. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  372. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  373. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  374. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  375. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  376. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  377. package/src/private/specs/modules/NativeLogBox.js +20 -0
  378. package/src/private/specs/modules/NativeModalManager.js +21 -0
  379. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  380. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  381. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  382. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  383. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  384. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  385. package/src/private/specs/modules/NativePlatformConstantsWin.js +37 -0
  386. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  387. package/src/private/specs/modules/NativeRedBox.js +20 -0
  388. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  389. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  390. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  391. package/src/private/specs/modules/NativeShareModule.js +23 -0
  392. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  393. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  394. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  395. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  396. package/src/private/specs/modules/NativeTiming.js +26 -0
  397. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  398. package/src/private/specs/modules/NativeUIManager.js +118 -0
  399. package/src/private/specs/modules/NativeVibration.js +24 -0
  400. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  401. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  402. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  403. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  404. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  405. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  406. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  407. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  408. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  409. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  410. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  411. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  412. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  413. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  414. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  415. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  416. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  417. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  418. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  419. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  420. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  421. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  422. package/{src → src-win}/Libraries/Components/Button/ButtonWin32.tsx +3 -3
  423. package/{src → src-win}/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +9 -10
  424. package/{src → src-win}/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  425. package/{src → src-win}/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  426. package/{src → src-win}/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  427. package/{src → src-win}/Libraries/Text/Text.d.ts +5 -6
  428. package/{src → src-win}/Libraries/platform-types.d.ts +2 -3
  429. package/types/modules/globals.d.ts +1 -0
  430. package/Libraries/Components/Button.flow.js +0 -265
  431. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  432. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -63
  433. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  434. package/Libraries/Components/Text/TextWin32.Props.js.map +0 -1
  435. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  436. package/Libraries/Components/Text/TextWin32.js +0 -18
  437. package/Libraries/Components/Text/TextWin32.js.map +0 -1
  438. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  439. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  440. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  441. package/Libraries/Image/Image.flow.js +0 -64
  442. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  443. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  444. package/src/Libraries/Components/Text/TextWin32.Props.ts +0 -82
  445. package/src/Libraries/Components/Text/TextWin32.tsx +0 -25
  446. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  447. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  448. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  449. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  450. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  451. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  452. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  453. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  454. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  455. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  456. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  457. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
  458. /package/{src → src-win}/Libraries/Components/Button/ButtonWin32.Props.ts +0 -0
  459. /package/{src → src-win}/Libraries/Components/EnterString.win32.tsx +0 -0
  460. /package/{src → src-win}/Libraries/Components/TextInput/Tests/TextInputTest.tsx +0 -0
  461. /package/{src → src-win}/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -0
  462. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Props.tsx +0 -0
  463. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Types.tsx +0 -0
  464. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.tsx +0 -0
  465. /package/{src → src-win}/Libraries/Components/View/ViewWin32.d.ts +0 -0
  466. /package/{src → src-win}/Libraries/Image/ImageTypes.ts +0 -0
  467. /package/{src → src-win}/Libraries/Image/Tests/ImageWin32Test.tsx +0 -0
  468. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest.png +0 -0
  469. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  470. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  471. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  472. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  473. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  474. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  475. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoin.tsx +0 -0
  476. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +0 -0
  477. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinTypes.ts +0 -0
  478. /package/{src → src-win}/Libraries/Utilities/FocusManager.win32.d.ts +0 -0
  479. /package/{src → src-win}/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +0 -0
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @flow strict
9
9
  * @nolint
10
- * @generated SignedSource<<652b117c94307244bcf5e4af18928903>>
10
+ * @generated SignedSource<<fbf33f04ca9428c149262f17c8a4b6ab>>
11
11
  */
12
12
 
13
13
  import type {ElementRef, ElementType, Element, AbstractComponent} from 'react';
@@ -144,11 +144,6 @@ type InspectorDataProps = $ReadOnly<{
144
144
  ...
145
145
  }>;
146
146
 
147
- type InspectorDataSource = $ReadOnly<{
148
- fileName?: string,
149
- lineNumber?: number,
150
- }>;
151
-
152
147
  type InspectorDataGetter = (
153
148
  <TElementType: ElementType>(
154
149
  componentOrHandle: ElementRef<TElementType> | number,
@@ -156,7 +151,6 @@ type InspectorDataGetter = (
156
151
  ) => $ReadOnly<{
157
152
  measure: (callback: MeasureOnSuccessCallback) => void,
158
153
  props: InspectorDataProps,
159
- source: InspectorDataSource,
160
154
  }>;
161
155
 
162
156
  export type InspectorData = $ReadOnly<{
@@ -167,7 +161,7 @@ export type InspectorData = $ReadOnly<{
167
161
  }>,
168
162
  selectedIndex: ?number,
169
163
  props: InspectorDataProps,
170
- source: ?InspectorDataSource,
164
+ componentStack: string,
171
165
  }>;
172
166
 
173
167
  export type TouchedViewDataAtPoint = $ReadOnly<{
@@ -193,6 +187,10 @@ export type ReactNativeType = {
193
187
  findNodeHandle<TElementType: ElementType>(
194
188
  componentOrHandle: ?(ElementRef<TElementType> | number),
195
189
  ): ?number,
190
+ isChildPublicInstance(
191
+ parent: PublicInstance | HostComponent<mixed>,
192
+ child: PublicInstance | HostComponent<mixed>,
193
+ ): boolean,
196
194
  dispatchCommand(
197
195
  handle: ElementRef<HostComponent<mixed>>,
198
196
  command: string,
@@ -231,6 +229,7 @@ export type ReactFabricType = {
231
229
  command: string,
232
230
  args: Array<mixed>,
233
231
  ): void,
232
+ isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
234
233
  sendAccessibilityEvent(
235
234
  handle: ElementRef<HostComponent<mixed>>,
236
235
  eventType: string,
@@ -247,7 +246,7 @@ export type ReactFabricType = {
247
246
  ): ?Node,
248
247
  getPublicInstanceFromInternalInstanceHandle(
249
248
  internalInstanceHandle: InternalInstanceHandle,
250
- ): PublicInstance | PublicTextInstance,
249
+ ): PublicInstance | PublicTextInstance | null,
251
250
  ...
252
251
  };
253
252
 
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @flow strict-local
9
9
  * @nolint
10
- * @generated SignedSource<<1b39316520f5af25f0a141d7d78b0809>>
10
+ * @generated SignedSource<<73af5b3fe29d226634ed64bc861634df>>
11
11
  */
12
12
 
13
13
  'use strict';
@@ -16,7 +16,7 @@ import {type ViewConfig} from './ReactNativeTypes';
16
16
  import invariant from 'invariant';
17
17
 
18
18
  // Event configs
19
- const customBubblingEventTypes: {
19
+ export const customBubblingEventTypes: {
20
20
  [eventName: string]: $ReadOnly<{
21
21
  phasedRegistrationNames: $ReadOnly<{
22
22
  captured: string,
@@ -24,18 +24,13 @@ const customBubblingEventTypes: {
24
24
  skipBubbling?: ?boolean,
25
25
  }>,
26
26
  }>,
27
- ...
28
27
  } = {};
29
- const customDirectEventTypes: {
28
+ export const customDirectEventTypes: {
30
29
  [eventName: string]: $ReadOnly<{
31
30
  registrationName: string,
32
31
  }>,
33
- ...
34
32
  } = {};
35
33
 
36
- exports.customBubblingEventTypes = customBubblingEventTypes;
37
- exports.customDirectEventTypes = customDirectEventTypes;
38
-
39
34
  const viewConfigCallbacks = new Map<string, ?() => ViewConfig>();
40
35
  const viewConfigs = new Map<string, ViewConfig>();
41
36
 
@@ -77,7 +72,7 @@ function processEventTypes(viewConfig: ViewConfig): void {
77
72
  * A callback is provided to load the view config from UIManager.
78
73
  * The callback is deferred until the view is actually rendered.
79
74
  */
80
- exports.register = function (name: string, callback: () => ViewConfig): string {
75
+ export function register(name: string, callback: () => ViewConfig): string {
81
76
  invariant(
82
77
  !viewConfigCallbacks.has(name),
83
78
  'Tried to register two views with the same name %s',
@@ -91,14 +86,14 @@ exports.register = function (name: string, callback: () => ViewConfig): string {
91
86
  );
92
87
  viewConfigCallbacks.set(name, callback);
93
88
  return name;
94
- };
89
+ }
95
90
 
96
91
  /**
97
92
  * Retrieves a config for the specified view.
98
93
  * If this is the first time the view has been used,
99
94
  * This configuration will be lazy-loaded from UIManager.
100
95
  */
101
- exports.get = function (name: string): ViewConfig {
96
+ export function get(name: string): ViewConfig {
102
97
  let viewConfig;
103
98
  if (!viewConfigs.has(name)) {
104
99
  const callback = viewConfigCallbacks.get(name);
@@ -126,4 +121,4 @@ exports.get = function (name: string): ViewConfig {
126
121
  }
127
122
  invariant(viewConfig, 'View config not found for name %s', name);
128
123
  return viewConfig;
129
- };
124
+ }
@@ -4,22 +4,10 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @flow
7
+ * @flow strict-local
8
8
  * @format
9
9
  */
10
10
 
11
- import type {TurboModule} from '../TurboModule/RCTExport';
12
-
13
- import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
-
15
- export interface Spec extends TurboModule {
16
- +getConstants: () => {|
17
- settings: Object,
18
- |};
19
- +setValues: (values: Object) => void;
20
- +deleteValues: (values: Array<string>) => void;
21
- }
22
-
23
- export default (TurboModuleRegistry.getEnforcing<Spec>(
24
- 'SettingsManager',
25
- ): Spec);
11
+ export * from '../../src/private/specs/modules/NativeSettingsManager';
12
+ import NativeSettingsManager from '../../src/private/specs/modules/NativeSettingsManager';
13
+ export default NativeSettingsManager;
@@ -8,16 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {TurboModule} from '../TurboModule/RCTExport';
12
-
13
- import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
-
15
- export interface Spec extends TurboModule {
16
- +getConstants: () => {||};
17
- +share: (
18
- content: {|title?: string, message?: string|},
19
- dialogTitle?: string,
20
- ) => Promise<{|action: string|}>;
21
- }
22
-
23
- export default (TurboModuleRegistry.get<Spec>('ShareModule'): ?Spec);
11
+ export * from '../../src/private/specs/modules/NativeShareModule';
12
+ import NativeShareModule from '../../src/private/specs/modules/NativeShareModule';
13
+ export default NativeShareModule;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -32,7 +32,7 @@ export namespace StyleSheet {
32
32
  type NamedStyles<T> = {[P in keyof T]: ViewStyle | TextStyle | ImageStyle};
33
33
 
34
34
  /**
35
- * Creates a StyleSheet style reference from the given object.
35
+ * An identity function for creating style sheets.
36
36
  */
37
37
  export function create<T extends NamedStyles<T> | NamedStyles<any>>(
38
38
  // The extra & NamedStyles<any> here helps Typescript catch typos: e.g.,
@@ -49,14 +49,6 @@ export namespace StyleSheet {
49
49
 
50
50
  /**
51
51
  * Flattens an array of style objects, into one aggregated style object.
52
- * Alternatively, this method can be used to lookup IDs, returned by
53
- * StyleSheet.register.
54
- *
55
- * > **NOTE**: Exercise caution as abusing this can tax you in terms of
56
- * > optimizations.
57
- * >
58
- * > IDs enable optimizations through the bridge and memory in general. Referring
59
- * > to style objects directly will deprive you of these optimizations.
60
52
  *
61
53
  * Example:
62
54
  * ```
@@ -74,17 +66,6 @@ export namespace StyleSheet {
74
66
  * StyleSheet.flatten([styles.listItem, styles.selectedListItem])
75
67
  * // returns { flex: 1, fontSize: 16, color: 'green' }
76
68
  * ```
77
- * Alternative use:
78
- * ```
79
- * StyleSheet.flatten(styles.listItem);
80
- * // return { flex: 1, fontSize: 16, color: 'white' }
81
- * // Simply styles.listItem would return its ID (number)
82
- * ```
83
- * This method internally uses `StyleSheetRegistry.getStyleByID(style)`
84
- * to resolve style objects represented by IDs. Thus, an array of style
85
- * objects (instances of StyleSheet.create), are individually resolved to,
86
- * their respective objects, merged as one and then returned. This also explains
87
- * the alternative use.
88
69
  */
89
70
  export function flatten<T>(
90
71
  style?: StyleProp<T>,
@@ -212,16 +212,12 @@ if (__DEV__) {
212
212
  * Code quality:
213
213
  *
214
214
  * - By moving styles away from the render function, you're making the code
215
- * easier to understand.
215
+ * easier to understand.
216
216
  * - Naming the styles is a good way to add meaning to the low level components
217
- * in the render function.
217
+ * in the render function, and encourage reuse.
218
+ * - In most IDEs, using `StyleSheet.create()` will offer static type checking
219
+ * and suggestions to help you write valid styles.
218
220
  *
219
- * Performance:
220
- *
221
- * - Making a stylesheet from a style object makes it possible to refer to it
222
- * by ID instead of creating a new style object every time.
223
- * - It also allows to send the style only once through the bridge. All
224
- * subsequent uses are going to refer an id (not implemented yet).
225
221
  */
226
222
  module.exports = {
227
223
  /**
@@ -285,14 +281,6 @@ module.exports = {
285
281
 
286
282
  /**
287
283
  * Flattens an array of style objects, into one aggregated style object.
288
- * Alternatively, this method can be used to lookup IDs, returned by
289
- * StyleSheet.register.
290
- *
291
- * > **NOTE**: Exercise caution as abusing this can tax you in terms of
292
- * > optimizations.
293
- * >
294
- * > IDs enable optimizations through the bridge and memory in general. Referring
295
- * > to style objects directly will deprive you of these optimizations.
296
284
  *
297
285
  * Example:
298
286
  * ```
@@ -310,17 +298,6 @@ module.exports = {
310
298
  * StyleSheet.flatten([styles.listItem, styles.selectedListItem])
311
299
  * // returns { flex: 1, fontSize: 16, color: 'green' }
312
300
  * ```
313
- * Alternative use:
314
- * ```
315
- * StyleSheet.flatten(styles.listItem);
316
- * // return { flex: 1, fontSize: 16, color: 'white' }
317
- * // Simply styles.listItem would return its ID (number)
318
- * ```
319
- * This method internally uses `StyleSheetRegistry.getStyleByID(style)`
320
- * to resolve style objects represented by IDs. Thus, an array of style
321
- * objects (instances of StyleSheet.create), are individually resolved to,
322
- * their respective objects, merged as one and then returned. This also explains
323
- * the alternative use.
324
301
  */
325
302
  flatten,
326
303
 
@@ -361,7 +338,7 @@ module.exports = {
361
338
  },
362
339
 
363
340
  /**
364
- * Creates a StyleSheet style reference from the given object.
341
+ * An identity function for creating style sheets.
365
342
  */
366
343
  // $FlowFixMe[unsupported-variance-annotation]
367
344
  create<+S: ____Styles_Internal>(obj: S): $ReadOnly<S> {
@@ -214,16 +214,12 @@ if (__DEV__) {
214
214
  * Code quality:
215
215
  *
216
216
  * - By moving styles away from the render function, you're making the code
217
- * easier to understand.
217
+ * easier to understand.
218
218
  * - Naming the styles is a good way to add meaning to the low level components
219
- * in the render function.
219
+ * in the render function, and encourage reuse.
220
+ * - In most IDEs, using `StyleSheet.create()` will offer static type checking
221
+ * and suggestions to help you write valid styles.
220
222
  *
221
- * Performance:
222
- *
223
- * - Making a stylesheet from a style object makes it possible to refer to it
224
- * by ID instead of creating a new style object every time.
225
- * - It also allows to send the style only once through the bridge. All
226
- * subsequent uses are going to refer an id (not implemented yet).
227
223
  */
228
224
  module.exports = {
229
225
  /**
@@ -287,14 +283,6 @@ module.exports = {
287
283
 
288
284
  /**
289
285
  * Flattens an array of style objects, into one aggregated style object.
290
- * Alternatively, this method can be used to lookup IDs, returned by
291
- * StyleSheet.register.
292
- *
293
- * > **NOTE**: Exercise caution as abusing this can tax you in terms of
294
- * > optimizations.
295
- * >
296
- * > IDs enable optimizations through the bridge and memory in general. Referring
297
- * > to style objects directly will deprive you of these optimizations.
298
286
  *
299
287
  * Example:
300
288
  * ```
@@ -312,17 +300,6 @@ module.exports = {
312
300
  * StyleSheet.flatten([styles.listItem, styles.selectedListItem])
313
301
  * // returns { flex: 1, fontSize: 16, color: 'green' }
314
302
  * ```
315
- * Alternative use:
316
- * ```
317
- * StyleSheet.flatten(styles.listItem);
318
- * // return { flex: 1, fontSize: 16, color: 'white' }
319
- * // Simply styles.listItem would return its ID (number)
320
- * ```
321
- * This method internally uses `StyleSheetRegistry.getStyleByID(style)`
322
- * to resolve style objects represented by IDs. Thus, an array of style
323
- * objects (instances of StyleSheet.create), are individually resolved to,
324
- * their respective objects, merged as one and then returned. This also explains
325
- * the alternative use.
326
303
  */
327
304
  flatten,
328
305
 
@@ -363,7 +340,7 @@ module.exports = {
363
340
  },
364
341
 
365
342
  /**
366
- * Creates a StyleSheet style reference from the given object.
343
+ * An identity function for creating style sheets.
367
344
  */
368
345
  // $FlowFixMe[unsupported-variance-annotation]
369
346
  create<+S: ____Styles_Internal>(obj: S): $ReadOnly<S> {
@@ -40,6 +40,7 @@ export interface FlexStyle {
40
40
  | 'stretch'
41
41
  | 'space-between'
42
42
  | 'space-around'
43
+ | 'space-evenly'
43
44
  | undefined;
44
45
  alignItems?: FlexAlignType | undefined;
45
46
  alignSelf?: 'auto' | FlexAlignType | undefined;
@@ -101,7 +102,7 @@ export interface FlexStyle {
101
102
  paddingStart?: DimensionValue | undefined;
102
103
  paddingTop?: DimensionValue | undefined;
103
104
  paddingVertical?: DimensionValue | undefined;
104
- position?: 'absolute' | 'relative' | undefined;
105
+ position?: 'absolute' | 'relative' | 'static' | undefined;
105
106
  right?: DimensionValue | undefined;
106
107
  start?: DimensionValue | undefined;
107
108
  top?: DimensionValue | undefined;
@@ -121,7 +122,7 @@ export interface ShadowStyleIOS {
121
122
  shadowRadius?: number | undefined;
122
123
  }
123
124
 
124
- interface PerpectiveTransform {
125
+ interface PerspectiveTransform {
125
126
  perspective: AnimatableNumericValue;
126
127
  }
127
128
 
@@ -154,11 +155,11 @@ interface ScaleYTransform {
154
155
  }
155
156
 
156
157
  interface TranslateXTransform {
157
- translateX: AnimatableNumericValue;
158
+ translateX: AnimatableNumericValue | `${number}%`;
158
159
  }
159
160
 
160
161
  interface TranslateYTransform {
161
- translateY: AnimatableNumericValue;
162
+ translateY: AnimatableNumericValue | `${number}%`;
162
163
  }
163
164
 
164
165
  interface SkewXTransform {
@@ -180,7 +181,7 @@ type MaximumOneOf<T, K extends keyof T = keyof T> = K extends keyof T
180
181
  export interface TransformsStyle {
181
182
  transform?:
182
183
  | MaximumOneOf<
183
- PerpectiveTransform &
184
+ PerspectiveTransform &
184
185
  RotateTransform &
185
186
  RotateXTransform &
186
187
  RotateYTransform &
@@ -280,7 +281,6 @@ export type FontVariant =
280
281
  | 'oldstyle-nums'
281
282
  | 'lining-nums'
282
283
  | 'tabular-nums'
283
- | 'proportional-nums'
284
284
  | 'common-ligatures'
285
285
  | 'no-common-ligatures'
286
286
  | 'discretionary-ligatures'
@@ -288,7 +288,28 @@ export type FontVariant =
288
288
  | 'historical-ligatures'
289
289
  | 'no-historical-ligatures'
290
290
  | 'contextual'
291
- | 'no-contextual';
291
+ | 'no-contextual'
292
+ | 'proportional-nums'
293
+ | 'stylistic-one'
294
+ | 'stylistic-two'
295
+ | 'stylistic-three'
296
+ | 'stylistic-four'
297
+ | 'stylistic-five'
298
+ | 'stylistic-six'
299
+ | 'stylistic-seven'
300
+ | 'stylistic-eight'
301
+ | 'stylistic-nine'
302
+ | 'stylistic-ten'
303
+ | 'stylistic-eleven'
304
+ | 'stylistic-twelve'
305
+ | 'stylistic-thirteen'
306
+ | 'stylistic-fourteen'
307
+ | 'stylistic-fifteen'
308
+ | 'stylistic-sixteen'
309
+ | 'stylistic-seventeen'
310
+ | 'stylistic-eighteen'
311
+ | 'stylistic-nineteen'
312
+ | 'stylistic-twenty';
292
313
  export interface TextStyleIOS extends ViewStyle {
293
314
  fontVariant?: FontVariant[] | undefined;
294
315
  textDecorationColor?: ColorValue | undefined;
@@ -325,6 +346,25 @@ export interface TextStyle extends TextStyleIOS, TextStyleAndroid, ViewStyle {
325
346
  | '700'
326
347
  | '800'
327
348
  | '900'
349
+ | 100
350
+ | 200
351
+ | 300
352
+ | 400
353
+ | 500
354
+ | 600
355
+ | 700
356
+ | 800
357
+ | 900
358
+ | 'ultralight'
359
+ | 'thin'
360
+ | 'light'
361
+ | 'medium'
362
+ | 'regular'
363
+ | 'semibold'
364
+ | 'condensedBold'
365
+ | 'condensed'
366
+ | 'heavy'
367
+ | 'black'
328
368
  | undefined;
329
369
  letterSpacing?: number | undefined;
330
370
  lineHeight?: number | undefined;
@@ -469,22 +469,23 @@ type ____LayoutStyle_Internal = $ReadOnly<{
469
469
  borderTopWidth?: number,
470
470
 
471
471
  /** `position` in React Native is similar to regular CSS, but
472
- * everything is set to `relative` by default, so `absolute`
473
- * positioning is always just relative to the parent.
472
+ * everything is set to `relative` by default.
474
473
  *
475
474
  * If you want to position a child using specific numbers of logical
476
475
  * pixels relative to its parent, set the child to have `absolute`
477
476
  * position.
478
477
  *
479
478
  * If you want to position a child relative to something
480
- * that is not its parent, just don't use styles for that. Use the
481
- * component tree.
479
+ * that is not its parent, set the child to have `absolute` position and the
480
+ * nodes between to have `static` position.
481
+ *
482
+ * Note that `static` is only available on the new renderer.
482
483
  *
483
484
  * See https://github.com/facebook/yoga
484
485
  * for more details on how `position` differs between React Native
485
486
  * and CSS.
486
487
  */
487
- position?: 'absolute' | 'relative',
488
+ position?: 'absolute' | 'relative' | 'static',
488
489
 
489
490
  /** `flexDirection` controls which directions children of a container go.
490
491
  * `row` goes left to right, `column` goes top to bottom, and you may
@@ -552,7 +553,8 @@ type ____LayoutStyle_Internal = $ReadOnly<{
552
553
  | 'center'
553
554
  | 'stretch'
554
555
  | 'space-between'
555
- | 'space-around',
556
+ | 'space-around'
557
+ | 'space-evenly',
556
558
 
557
559
  /** `overflow` controls how children are measured and displayed.
558
560
  * `overflow: hidden` causes views to be clipped while `overflow: scroll`
@@ -625,7 +627,7 @@ type ____LayoutStyle_Internal = $ReadOnly<{
625
627
  /** `direction` specifies the directional flow of the user interface.
626
628
  * The default is `inherit`, except for root node which will have
627
629
  * value based on the current locale.
628
- * See https://yogalayout.com/docs/layout-direction
630
+ * See https://yogalayout.dev/docs/layout-direction
629
631
  * for more details.
630
632
  * @platform ios
631
633
  */
@@ -911,7 +913,10 @@ export type ____Styles_Internal = {
911
913
  ...
912
914
  };
913
915
 
914
- export type ____FlattenStyleProp_Internal<+TStyleProp> = $Call<
915
- <T>(GenericStyleProp<T>) => T,
916
- TStyleProp,
917
- >;
916
+ export type ____FlattenStyleProp_Internal<
917
+ +TStyleProp: GenericStyleProp<mixed>,
918
+ > = TStyleProp extends null | void | false | ''
919
+ ? empty
920
+ : TStyleProp extends $ReadOnlyArray<infer V>
921
+ ? ____FlattenStyleProp_Internal<V>
922
+ : TStyleProp;
@@ -13,8 +13,7 @@
13
13
  import type {DangerouslyImpreciseStyleProp} from './StyleSheet';
14
14
  import type {____FlattenStyleProp_Internal} from './StyleSheetTypes';
15
15
 
16
- // $FlowFixMe[unsupported-variance-annotation]
17
- function flattenStyle<+TStyleProp: DangerouslyImpreciseStyleProp>(
16
+ function flattenStyle<TStyleProp: DangerouslyImpreciseStyleProp>(
18
17
  style: ?TStyleProp,
19
18
  // $FlowFixMe[underconstrained-implicit-instantiation]
20
19
  ): ?____FlattenStyleProp_Internal<TStyleProp> {
@@ -23,6 +22,7 @@ function flattenStyle<+TStyleProp: DangerouslyImpreciseStyleProp>(
23
22
  }
24
23
 
25
24
  if (!Array.isArray(style)) {
25
+ // $FlowFixMe[incompatible-return]
26
26
  return style;
27
27
  }
28
28
 
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @flow
8
+ * @flow strict-local
9
9
  */
10
10
 
11
11
  /* eslint no-bitwise: 0 */
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @flow
8
+ * @flow strict-local
9
9
  */
10
10
 
11
11
  'use strict';
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @flow
8
+ * @flow strict-local
9
9
  */
10
10
 
11
11
  'use strict';
@@ -19,6 +19,10 @@ import {
19
19
  NativeSyntheticEvent,
20
20
  TextLayoutEventData,
21
21
  } from '../Types/CoreEventTypes';
22
+ import type {
23
+ IKeyboardEvent,
24
+ IHandledKeyboardEvent,
25
+ } from '../View/ViewPropTypes'; // Win32
22
26
 
23
27
  export interface TextPropsIOS {
24
28
  /**
@@ -101,11 +105,6 @@ export interface TextPropsAndroid {
101
105
  android_hyphenationFrequency?: 'normal' | 'none' | 'full' | undefined;
102
106
  }
103
107
 
104
- import type {
105
- IKeyboardEvent,
106
- IHandledKeyboardEvent,
107
- } from '../Components/View/ViewPropTypes';
108
-
109
108
  /**
110
109
  * Role-based text style names.
111
110
  */
@@ -190,7 +189,7 @@ export interface TextPropsWin32 {
190
189
  export interface TextProps
191
190
  extends TextPropsIOS,
192
191
  TextPropsAndroid,
193
- TextPropsWin32,
192
+ TextPropsWin32, // Win32
194
193
  AccessibilityProps {
195
194
  /**
196
195
  * Specifies whether fonts should scale to respect Text Size accessibility settings.
@@ -286,12 +286,6 @@ const Text: React.AbstractComponent<
286
286
 
287
287
  Text.displayName = 'Text';
288
288
 
289
- /**
290
- * Switch to `deprecated-react-native-prop-types` for compatibility with future
291
- * releases. This is deprecated and will be removed in the future.
292
- */
293
- Text.propTypes = require('deprecated-react-native-prop-types').TextPropTypes;
294
-
295
289
  /**
296
290
  * Returns false until the first time `newValue` is true, after which this will
297
291
  * always return true. This is necessary to lazily initialize `Pressability` so
@@ -317,12 +317,6 @@ const Text: React.AbstractComponent<
317
317
 
318
318
  Text.displayName = 'Text';
319
319
 
320
- /**
321
- * Switch to `deprecated-react-native-prop-types` for compatibility with future
322
- * releases. This is deprecated and will be removed in the future.
323
- */
324
- Text.propTypes = require('deprecated-react-native-prop-types').TextPropTypes;
325
-
326
320
  /**
327
321
  * Returns false until the first time `newValue` is true, after which this will
328
322
  * always return true. This is necessary to lazily initialize `Pressability` so
@@ -15,9 +15,8 @@ const React = require('react');
15
15
  /**
16
16
  * Whether the current element is the descendant of a <Text> element.
17
17
  */
18
- const TextAncestorContext = (React.createContext(
19
- false,
20
- ): React$Context<$FlowFixMe>);
18
+ const TextAncestorContext: React$Context<$FlowFixMe> =
19
+ React.createContext(false);
21
20
  if (__DEV__) {
22
21
  TextAncestorContext.displayName = 'TextAncestorContext';
23
22
  }