react-native-windows 0.79.2 → 0.80.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 (348) hide show
  1. package/.flowconfig +12 -3
  2. package/Directory.Build.props +5 -2
  3. package/Libraries/Alert/Alert.d.ts +4 -1
  4. package/Libraries/Alert/Alert.js +3 -0
  5. package/Libraries/Alert/Alert.windows.js +3 -0
  6. package/Libraries/Alert/RCTAlertManager.js +17 -0
  7. package/Libraries/Animated/Animated.js.flow +1 -3
  8. package/Libraries/Animated/AnimatedEvent.js +4 -3
  9. package/Libraries/Animated/AnimatedExports.js +2 -2
  10. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  11. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  12. package/Libraries/Animated/Easing.js +13 -15
  13. package/Libraries/Animated/animations/Animation.js +8 -4
  14. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  15. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  16. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  17. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  18. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  19. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  20. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  21. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  22. package/Libraries/AppState/AppState.js +7 -2
  23. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  24. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  25. package/Libraries/Blob/BlobManager.js +1 -0
  26. package/Libraries/Blob/FileReader.js +219 -8
  27. package/Libraries/Blob/URL.js +37 -12
  28. package/Libraries/Blob/URLSearchParams.js +106 -31
  29. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +1 -1
  32. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  33. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  34. package/Libraries/Components/Button.d.ts +3 -0
  35. package/Libraries/Components/Button.js +1 -1
  36. package/Libraries/Components/Button.windows.js +27 -1
  37. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  38. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  39. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  40. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  41. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  42. package/Libraries/Components/Flyout/Flyout.js +11 -0
  43. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  45. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  46. package/Libraries/Components/Popup/Popup.js +11 -0
  47. package/Libraries/Components/Pressable/Pressable.js +20 -4
  48. package/Libraries/Components/Pressable/Pressable.windows.js +20 -4
  49. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  50. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  51. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  52. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  53. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  54. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  55. package/Libraries/Components/ScrollView/ScrollView.windows.js +131 -122
  56. package/Libraries/Components/StaticRenderer.js +1 -1
  57. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  58. package/Libraries/Components/Switch/Switch.js +8 -4
  59. package/Libraries/Components/Switch/Switch.windows.js +17 -4
  60. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
  61. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  62. package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
  63. package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
  64. package/Libraries/Components/TextInput/TextInput.flow.windows.js +1246 -0
  65. package/Libraries/Components/TextInput/TextInput.js +88 -1027
  66. package/Libraries/Components/TextInput/TextInput.windows.js +104 -1092
  67. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  68. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  69. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +2 -1
  70. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  71. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  72. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  73. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  74. package/Libraries/Components/Touchable/Touchable.js +5 -5
  75. package/Libraries/Components/Touchable/Touchable.windows.js +5 -5
  76. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  77. package/Libraries/Components/Touchable/TouchableBounce.windows.js +14 -7
  78. package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
  79. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +10 -7
  80. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +6 -6
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +13 -6
  84. package/Libraries/Components/View/View.js +18 -21
  85. package/Libraries/Components/View/View.windows.js +39 -41
  86. package/Libraries/Components/View/ViewAccessibility.d.ts +8 -0
  87. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  88. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -1
  89. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  90. package/Libraries/Components/View/ViewPropTypes.windows.js +50 -2
  91. package/Libraries/Core/ReactNativeVersion.js +1 -1
  92. package/Libraries/Core/setUpReactDevTools.js +5 -5
  93. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  94. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  95. package/Libraries/Image/AssetSourceResolver.js +17 -4
  96. package/Libraries/Image/AssetSourceResolver.windows.js +17 -4
  97. package/Libraries/Image/Image.d.ts +26 -10
  98. package/Libraries/Image/Image.js +17 -0
  99. package/Libraries/Image/Image.js.flow +5 -5
  100. package/Libraries/Image/Image.windows.js +13 -1
  101. package/Libraries/Image/ImageBackground.js +2 -0
  102. package/Libraries/Image/ImageInjection.js +1 -1
  103. package/Libraries/Image/ImageProps.js +22 -17
  104. package/Libraries/Image/ImageSource.js +3 -1
  105. package/Libraries/Image/ImageSourceUtils.js +4 -2
  106. package/Libraries/Image/ImageTypes.flow.js +1 -1
  107. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  108. package/Libraries/Interaction/InteractionManager.js +1 -1
  109. package/Libraries/Interaction/PanResponder.js +3 -3
  110. package/Libraries/Interaction/TaskQueue.js +1 -0
  111. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  112. package/Libraries/Linking/Linking.js +1 -1
  113. package/Libraries/Lists/FlatList.d.ts +2 -2
  114. package/Libraries/Lists/FlatList.js +8 -11
  115. package/Libraries/Lists/SectionList.js +39 -42
  116. package/Libraries/Lists/SectionListModern.js +25 -34
  117. package/Libraries/Lists/VirtualizedList.js +1 -0
  118. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  119. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  120. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  121. package/Libraries/Modal/Modal.js +33 -7
  122. package/Libraries/Modal/Modal.windows.js +33 -10
  123. package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
  124. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  125. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  126. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  127. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  128. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  129. package/Libraries/Network/RCTNetworking.android.js +1 -1
  130. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  131. package/Libraries/Network/RCTNetworking.js +17 -0
  132. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  133. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  134. package/Libraries/Network/XMLHttpRequest.js +781 -10
  135. package/Libraries/Performance/Systrace.js +7 -7
  136. package/Libraries/Pressability/Pressability.js +1 -1
  137. package/Libraries/Pressability/Pressability.windows.js +1 -1
  138. package/Libraries/ReactNative/AppContainer-dev.js +5 -4
  139. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  140. package/Libraries/ReactNative/AppRegistry.js +2 -322
  141. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  142. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  143. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  144. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  145. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  146. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  147. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  148. package/Libraries/ReactNative/renderApplication.js +9 -0
  149. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  150. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  151. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  152. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  153. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  154. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  155. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  156. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  157. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  158. package/Libraries/Settings/Settings.ios.js +1 -0
  159. package/Libraries/Settings/Settings.js +13 -19
  160. package/Libraries/Settings/SettingsFallback.js +33 -0
  161. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  162. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  163. package/Libraries/StyleSheet/Rect.js +1 -0
  164. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  165. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  166. package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
  167. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  168. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  169. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  170. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  171. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  172. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  173. package/Libraries/Text/Text.d.ts +2 -5
  174. package/Libraries/Text/Text.js +3 -3
  175. package/Libraries/Text/Text.windows.js +3 -3
  176. package/Libraries/Text/TextNativeComponent.js +0 -4
  177. package/Libraries/Text/TextProps.js +5 -33
  178. package/Libraries/Text/TextProps.windows.js +5 -32
  179. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  180. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  181. package/Libraries/Types/CoreEventTypes.d.ts +6 -1
  182. package/Libraries/Types/CoreEventTypes.js +1 -1
  183. package/Libraries/Types/CoreEventTypes.windows.js +1 -1
  184. package/Libraries/Utilities/Appearance.js +2 -0
  185. package/Libraries/Utilities/BackHandler.js +17 -0
  186. package/Libraries/Utilities/DeviceInfo.js +2 -0
  187. package/Libraries/Utilities/Dimensions.js +1 -1
  188. package/Libraries/Utilities/Platform.js +17 -0
  189. package/Libraries/Utilities/PlatformTypes.js +11 -3
  190. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  191. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  192. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  193. package/Libraries/WebSocket/WebSocket.js +313 -8
  194. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  195. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  196. package/Microsoft.ReactNative/CompositionSwitcher.idl +8 -0
  197. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +0 -6
  198. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +197 -1
  199. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +34 -4
  200. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +12 -0
  201. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +36 -33
  202. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +81 -0
  203. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +5 -0
  204. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +148 -14
  205. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -0
  206. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +29 -0
  207. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +2 -0
  208. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +17 -34
  209. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +4 -0
  210. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  211. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +16 -0
  212. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +1 -0
  213. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +9 -0
  214. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  215. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
  216. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +34 -94
  217. package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +4 -0
  218. package/Microsoft.ReactNative/Modules/SampleTurboModule.h +3 -0
  219. package/Microsoft.ReactNative/TurboModulesProvider.h +1 -1
  220. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +1 -1
  221. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  222. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  223. package/PropertySheets/React.Cpp.props +4 -0
  224. package/README.md +2 -2
  225. package/ReactCommon/ReactCommon.vcxproj +9 -4
  226. package/ReactCommon/ReactCommon.vcxproj.filters +6 -0
  227. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +253 -0
  228. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +5 -2
  229. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +4 -8
  230. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +184 -0
  231. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +22 -0
  232. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +2 -4
  233. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +27 -0
  234. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +2 -1
  235. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
  236. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +308 -0
  237. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +42 -0
  238. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +7 -51
  239. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +10 -5
  240. package/Scripts/creaternwapp.cmd +9 -3
  241. package/Shared/Shared.vcxitems +3 -2
  242. package/Shared/Shared.vcxitems.filters +2 -1
  243. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  244. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  245. package/codegen/NativePerformanceSpec.g.h +14 -0
  246. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +151 -127
  247. package/codegen/NativeSampleTurboModuleSpec.g.h +14 -8
  248. package/codegen/react/components/rnwcore/EventEmitters.cpp +48 -48
  249. package/codegen/rnwcoreJSI-generated.cpp +159 -129
  250. package/codegen/rnwcoreJSI.h +534 -408
  251. package/index.js +51 -331
  252. package/index.windows.js +70 -352
  253. package/interface.js +0 -4
  254. package/jest/resolver.js +31 -0
  255. package/jest/setup.js +6 -2
  256. package/package.json +29 -28
  257. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  258. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  259. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  260. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  261. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  262. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  263. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  264. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  265. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  266. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  267. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  268. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  269. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  270. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  271. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  272. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  273. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  274. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  275. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  276. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  277. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  278. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  279. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  280. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  281. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.windows.js +1 -1
  282. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  283. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  284. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  285. package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
  286. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +12 -1
  287. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
  288. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  289. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  290. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  291. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  292. package/src/private/styles/composeStyles.js +12 -5
  293. package/src/private/types/HostComponent.js +1 -1
  294. package/src/private/types/HostInstance.js +67 -1
  295. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  296. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  297. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  298. package/src/private/webapis/performance/Performance.js +1 -3
  299. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  300. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  301. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  302. package/src/types/globals.d.ts +42 -0
  303. package/stubs/double-conversion/double-conversion.h +3 -1
  304. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +4 -0
  305. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +4 -0
  306. package/types/index.d.ts +6 -3
  307. package/types/public/ReactNativeTypes.d.ts +2 -2
  308. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  309. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  310. package/Libraries/Blob/FileReader_new.js +0 -231
  311. package/Libraries/Blob/FileReader_old.js +0 -186
  312. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  313. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  314. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  315. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  316. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  317. package/Libraries/Events/CustomEvent.js +0 -32
  318. package/Libraries/Events/EventPolyfill.js +0 -239
  319. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  320. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  321. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  322. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  323. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
  324. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +0 -30
  325. package/Libraries/NewAppScreen/components/Header.js +0 -77
  326. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
  327. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  328. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  329. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +0 -31
  330. package/Libraries/NewAppScreen/components/logo.png +0 -0
  331. package/Libraries/NewAppScreen/index.js +0 -25
  332. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  333. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  334. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  335. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  336. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  337. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  338. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  339. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  340. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  341. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  342. package/jest/__tests__/setup-test.js +0 -18
  343. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  344. package/src/private/utilities/ensureInstance.js +0 -21
  345. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  346. package/types/modules/LaunchScreen.d.ts +0 -18
  347. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  348. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
@@ -16,8 +16,7 @@ import {TextStyle, ViewStyle} from '../StyleSheet/StyleSheetTypes';
16
16
  import {
17
17
  GestureResponderEvent,
18
18
  LayoutChangeEvent,
19
- NativeSyntheticEvent,
20
- TextLayoutEventData,
19
+ TextLayoutEvent,
21
20
  } from '../Types/CoreEventTypes';
22
21
 
23
22
  export interface TextPropsIOS {
@@ -173,9 +172,7 @@ export interface TextProps
173
172
  /**
174
173
  * Invoked on Text layout
175
174
  */
176
- onTextLayout?:
177
- | ((event: NativeSyntheticEvent<TextLayoutEventData>) => void)
178
- | undefined;
175
+ onTextLayout?: ((event: TextLayoutEvent) => void) | undefined;
179
176
 
180
177
  /**
181
178
  * This function is called on press.
@@ -35,7 +35,7 @@ type TextForwardRef = React.ElementRef<
35
35
  *
36
36
  * @see https://reactnative.dev/docs/text
37
37
  */
38
- const Text: component(
38
+ const TextImpl: component(
39
39
  ref?: React.RefSetter<TextForwardRef>,
40
40
  ...props: TextProps
41
41
  ) = React.forwardRef(
@@ -330,7 +330,7 @@ const Text: component(
330
330
  },
331
331
  );
332
332
 
333
- Text.displayName = 'Text';
333
+ TextImpl.displayName = 'Text';
334
334
 
335
335
  type TextPressabilityProps = $ReadOnly<{
336
336
  onLongPress?: ?(event: GestureResponderEvent) => mixed,
@@ -536,4 +536,4 @@ const verticalAlignToTextAlignVerticalMap = {
536
536
  middle: 'center',
537
537
  };
538
538
 
539
- export default Text;
539
+ export default TextImpl;
@@ -38,7 +38,7 @@ type TextForwardRef = React.ElementRef<
38
38
  *
39
39
  * @see https://reactnative.dev/docs/text
40
40
  */
41
- const Text: component(
41
+ const TextImpl: component(
42
42
  ref?: React.RefSetter<TextForwardRef>,
43
43
  ...props: TextProps
44
44
  ) = React.forwardRef(
@@ -392,7 +392,7 @@ const Text: component(
392
392
  },
393
393
  );
394
394
 
395
- Text.displayName = 'Text';
395
+ TextImpl.displayName = 'Text';
396
396
 
397
397
  type TextPressabilityProps = $ReadOnly<{
398
398
  onLongPress?: ?(event: GestureResponderEvent) => mixed,
@@ -598,4 +598,4 @@ const verticalAlignToTextAlignVerticalMap = {
598
598
  middle: 'center',
599
599
  };
600
600
 
601
- export default Text;
601
+ export default TextImpl;
@@ -44,7 +44,6 @@ const textViewConfig = {
44
44
  minimumFontScale: true,
45
45
  textBreakStrategy: true,
46
46
  onTextLayout: true,
47
- onInlineViewLayout: true,
48
47
  dataDetectorType: true,
49
48
  android_hyphenationFrequency: true,
50
49
  lineBreakStrategyIOS: true,
@@ -53,9 +52,6 @@ const textViewConfig = {
53
52
  topTextLayout: {
54
53
  registrationName: 'onTextLayout',
55
54
  },
56
- topInlineViewLayout: {
57
- registrationName: 'onInlineViewLayout',
58
- },
59
55
  },
60
56
  uiViewClassName: 'RCTText',
61
57
  };
@@ -13,6 +13,7 @@
13
13
  import type {
14
14
  AccessibilityActionEvent,
15
15
  AccessibilityActionInfo,
16
+ AccessibilityProps,
16
17
  AccessibilityRole,
17
18
  AccessibilityState,
18
19
  Role,
@@ -24,7 +25,8 @@ import type {
24
25
  PointerEvent,
25
26
  TextLayoutEvent,
26
27
  } from '../Types/CoreEventTypes';
27
- import type {Node} from 'react';
28
+
29
+ import * as React from 'react';
28
30
 
29
31
  export type PressRetentionOffset = $ReadOnly<{
30
32
  top: number,
@@ -123,20 +125,7 @@ export type TextPropsAndroid = {
123
125
  };
124
126
 
125
127
  type TextBaseProps = $ReadOnly<{
126
- /**
127
- * Indicates whether the view is an accessibility element.
128
- *
129
- * See https://reactnative.dev/docs/text#accessible
130
- */
131
- accessible?: ?boolean,
132
- accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
133
128
  onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
134
- accessibilityHint?: ?Stringish,
135
- accessibilityLanguage?: ?Stringish,
136
- accessibilityLabel?: ?Stringish,
137
- accessibilityRole?: ?AccessibilityRole,
138
- accessibilityState?: ?AccessibilityState,
139
- 'aria-label'?: ?string,
140
129
 
141
130
  /**
142
131
  * Whether fonts should scale to respect Text Size accessibility settings.
@@ -151,25 +140,7 @@ type TextBaseProps = $ReadOnly<{
151
140
  *
152
141
  */
153
142
  android_hyphenationFrequency?: ?('normal' | 'none' | 'full'),
154
-
155
- /**
156
- * alias for accessibilityState
157
- *
158
- * see https://reactnative.dev/docs/accessibility#accessibilitystate
159
- */
160
- 'aria-busy'?: ?boolean,
161
- 'aria-checked'?: ?boolean | 'mixed',
162
- 'aria-disabled'?: ?boolean,
163
- 'aria-expanded'?: ?boolean,
164
- 'aria-selected'?: ?boolean,
165
-
166
- /**
167
- * Represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
168
- * This prop is listed for cross-platform reasons and has no real effect on Android or iOS.
169
- */
170
- 'aria-labelledby'?: ?string,
171
-
172
- children?: ?Node,
143
+ children?: ?React.Node,
173
144
 
174
145
  /**
175
146
  * When `numberOfLines` is set, this prop defines how text will be
@@ -305,4 +276,5 @@ export type TextProps = $ReadOnly<{
305
276
  ...TextPropsIOS,
306
277
  ...TextPropsAndroid,
307
278
  ...TextBaseProps,
279
+ ...AccessibilityProps,
308
280
  }>;
@@ -13,6 +13,7 @@
13
13
  import type {
14
14
  AccessibilityActionEvent,
15
15
  AccessibilityActionInfo,
16
+ AccessibilityProps,
16
17
  AccessibilityRole,
17
18
  AccessibilityState,
18
19
  Role,
@@ -24,7 +25,8 @@ import type {
24
25
  PointerEvent,
25
26
  TextLayoutEvent,
26
27
  } from '../Types/CoreEventTypes';
27
- import type {Node} from 'react';
28
+
29
+ import * as React from 'react';
28
30
 
29
31
  export type PressRetentionOffset = $ReadOnly<{
30
32
  top: number,
@@ -123,25 +125,11 @@ export type TextPropsAndroid = {
123
125
  };
124
126
 
125
127
  type TextBaseProps = $ReadOnly<{
126
- /**
127
- * Indicates whether the view is an accessibility element.
128
- *
129
- * See https://reactnative.dev/docs/text#accessible
130
- */
131
- accessible?: ?boolean,
132
- accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
133
128
  onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
134
- accessibilityHint?: ?Stringish,
135
- accessibilityLanguage?: ?Stringish,
136
- accessibilityLabel?: ?Stringish,
137
- accessibilityRole?: ?AccessibilityRole,
138
- accessibilityState?: ?AccessibilityState,
139
129
  accessibilityLevel?: ?number, // Windows
140
130
  accessibilityPosInSet?: ?number, // Windows
141
131
  accessibilitySetSize?: ?number, // Windows
142
132
 
143
- 'aria-label'?: ?string,
144
-
145
133
  /**
146
134
  * Whether fonts should scale to respect Text Size accessibility settings.
147
135
  * The default is `true`.
@@ -156,16 +144,6 @@ type TextBaseProps = $ReadOnly<{
156
144
  */
157
145
  android_hyphenationFrequency?: ?('normal' | 'none' | 'full'),
158
146
 
159
- /**
160
- * alias for accessibilityState
161
- *
162
- * see https://reactnative.dev/docs/accessibility#accessibilitystate
163
- */
164
- 'aria-busy'?: ?boolean,
165
- 'aria-checked'?: ?boolean | 'mixed',
166
- 'aria-disabled'?: ?boolean,
167
- 'aria-expanded'?: ?boolean,
168
- 'aria-selected'?: ?boolean,
169
147
  'aria-posinset'?: ?number, // Windows
170
148
  'aria-setsize'?: ?number, // Windows
171
149
  'aria-level'?: ?number, // Windows
@@ -173,13 +151,7 @@ type TextBaseProps = $ReadOnly<{
173
151
  'aria-multiselectable'?: ?boolean, // Windows
174
152
  'aria-required'?: ?boolean, // Windows
175
153
 
176
- /**
177
- * Represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
178
- * This prop is listed for cross-platform reasons and has no real effect on Android or iOS.
179
- */
180
- 'aria-labelledby'?: ?string,
181
-
182
- children?: ?Node,
154
+ children?: ?React.Node,
183
155
 
184
156
  /**
185
157
  * When `numberOfLines` is set, this prop defines how text will be
@@ -315,4 +287,5 @@ export type TextProps = $ReadOnly<{
315
287
  ...TextPropsIOS,
316
288
  ...TextPropsAndroid,
317
289
  ...TextBaseProps,
290
+ ...AccessibilityProps,
318
291
  }>;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import type {NativeSyntheticEvent} from 'react-native';
11
+ import type {EventSubscription} from 'react-native/Libraries/vendor/emitter/EventEmitter';
12
+
13
+ // Event types
14
+ // We're not using the PaperName, it is only used to codegen view config settings
15
+
16
+ export type BubblingEventHandler<
17
+ T,
18
+ PaperName extends string | never = never,
19
+ > = (event: NativeSyntheticEvent<T>) => void | Promise<void>;
20
+ export type DirectEventHandler<T, PaperName extends string | never = never> = (
21
+ event: NativeSyntheticEvent<T>,
22
+ ) => void | Promise<void>;
23
+
24
+ // Prop types
25
+ export type Double = number;
26
+ export type Float = number;
27
+ export type Int32 = number;
28
+ export type UnsafeObject = object;
29
+ export type UnsafeMixed = unknown;
30
+
31
+ type DefaultTypes = number | boolean | string | ReadonlyArray<string>;
32
+ // Default handling, ignore the unused value
33
+ // we're only using it for type checking
34
+ //
35
+ // TODO: (rickhanlonii) T44881457 If a default is provided, it should always be optional
36
+ // but that is currently not supported in the codegen since we require a default
37
+
38
+ export type WithDefault<
39
+ Type extends DefaultTypes,
40
+ Value extends Type | string | undefined | null,
41
+ > = Type | undefined | null;
42
+
43
+ export type EventEmitter<T> = (
44
+ handler: (arg: T) => void | Promise<void>,
45
+ ) => EventSubscription;
@@ -4,13 +4,11 @@
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 strict
8
7
  * @format
8
+ * @flow strict
9
9
  */
10
10
 
11
- const BlobModule = {
12
- createFromParts() {},
13
- release() {},
14
- };
11
+ // This module exists to fit CodegenTypes into a namespace under Flow
15
12
 
16
- module.exports = BlobModule;
13
+ import * as CodegenTypes from './CodegenTypes';
14
+ export type {CodegenTypes};
@@ -33,12 +33,17 @@ interface TextLayoutLine {
33
33
  }
34
34
 
35
35
  /**
36
- * @see TextProps.onTextLayout
36
+ * @deprecated Use `TextLayoutEvent` instead.
37
37
  */
38
38
  export interface TextLayoutEventData extends TargetedEvent {
39
39
  lines: TextLayoutLine[];
40
40
  }
41
41
 
42
+ /**
43
+ * @see TextProps.onTextLayout
44
+ */
45
+ export type TextLayoutEvent = NativeSyntheticEvent<TextLayoutEventData>;
46
+
42
47
  // Similar to React.SyntheticEvent except for nativeEvent
43
48
  export interface NativeSyntheticEvent<T>
44
49
  extends React.BaseSyntheticEvent<T, HostInstance, HostInstance> {}
@@ -76,7 +76,7 @@ export type LayoutChangeEvent = NativeSyntheticEvent<
76
76
  }>,
77
77
  >;
78
78
 
79
- export type TextLayoutEventData = $ReadOnly<{
79
+ type TextLayoutEventData = $ReadOnly<{
80
80
  lines: Array<TextLayoutLine>,
81
81
  }>;
82
82
 
@@ -76,7 +76,7 @@ export type LayoutChangeEvent = NativeSyntheticEvent<
76
76
  }>,
77
77
  >;
78
78
 
79
- export type TextLayoutEventData = $ReadOnly<{
79
+ type TextLayoutEventData = $ReadOnly<{
80
80
  lines: Array<TextLayoutLine>,
81
81
  }>;
82
82
 
@@ -16,6 +16,8 @@ import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
16
16
  import EventEmitter from '../vendor/emitter/EventEmitter';
17
17
  import invariant from 'invariant';
18
18
 
19
+ export type {AppearancePreferences};
20
+
19
21
  type Appearance = {
20
22
  colorScheme: ?ColorSchemeName,
21
23
  };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ // NOTE: This file supports backwards compatibility of subpath (deep) imports
12
+ // from 'react-native' with platform-specific extensions. It can be deleted
13
+ // once we remove the "./*" mapping from package.json "exports".
14
+
15
+ import BackHandler from './BackHandler';
16
+
17
+ export default BackHandler;
@@ -8,6 +8,8 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
+ export type {DeviceInfoConstants} from './NativeDeviceInfo';
12
+
11
13
  import NativeDeviceInfo from './NativeDeviceInfo';
12
14
 
13
15
  export default NativeDeviceInfo;
@@ -19,7 +19,7 @@ import NativeDeviceInfo, {
19
19
  } from './NativeDeviceInfo';
20
20
  import invariant from 'invariant';
21
21
 
22
- export type {DisplayMetrics, DisplayMetricsAndroid};
22
+ export type {DimensionsPayload, DisplayMetrics, DisplayMetricsAndroid};
23
23
 
24
24
  /** @deprecated Use DisplayMetrics */
25
25
  export type ScaledSize = DisplayMetrics;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ // NOTE: This file supports backwards compatibility of subpath (deep) imports
12
+ // from 'react-native' with platform-specific extensions. It can be deleted
13
+ // once we remove the "./*" mapping from package.json "exports".
14
+
15
+ import Platform from './Platform';
16
+
17
+ export default Platform;
@@ -16,11 +16,17 @@ export type PlatformOSType =
16
16
  | 'web'
17
17
  | 'native';
18
18
 
19
- export type PlatformSelectSpec<T> = {
20
- default?: T,
21
- [PlatformOSType]: T,
19
+ type OptionalPlatformSelectSpec<T> = {
20
+ [_key in PlatformOSType]?: T,
22
21
  };
23
22
 
23
+ export type PlatformSelectSpec<T> =
24
+ | {
25
+ ...OptionalPlatformSelectSpec<T>,
26
+ default: T,
27
+ }
28
+ | OptionalPlatformSelectSpec<T>;
29
+
24
30
  type IOSPlatform = {
25
31
  __constants: null,
26
32
  OS: 'ios',
@@ -153,6 +159,8 @@ type MacOSPlatform = {
153
159
  type WebPlatform = {
154
160
  OS: 'web',
155
161
  // $FlowFixMe[unsafe-getters-setters]
162
+ get Version(): void,
163
+ // $FlowFixMe[unsafe-getters-setters]
156
164
  get constants(): {
157
165
  reactNativeVersion: {
158
166
  major: number,
@@ -13,7 +13,7 @@
13
13
  import type {ReactTestRenderer as ReactTestRendererType} from 'react-test-renderer';
14
14
 
15
15
  import TouchableWithoutFeedback from '../Components/Touchable/TouchableWithoutFeedback';
16
- import React from 'react';
16
+ import * as React from 'react';
17
17
  import ReactTestRenderer from 'react-test-renderer';
18
18
 
19
19
  const Switch = require('../Components/Switch/Switch').default;
@@ -22,7 +22,7 @@ const View = require('../Components/View/View').default;
22
22
  const Text = require('../Text/Text').default;
23
23
  const {VirtualizedList} = require('@react-native/virtualized-lists').default;
24
24
 
25
- export type ReactTestInstance = $PropertyType<ReactTestRendererType, 'root'>;
25
+ export type ReactTestInstance = ReactTestRendererType['root'];
26
26
  export type Predicate = (node: ReactTestInstance) => boolean;
27
27
  /* $FlowFixMe[value-as-type] (>=0.125.1 site=react_native_fb) This comment
28
28
  * suppresses an error found when Flow v0.125.1 was deployed. To see the error,
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ interface Options<T extends string> {
11
+ readonly supportedCommands: ReadonlyArray<T>;
12
+ }
13
+
14
+ declare function codegenNativeCommands<T extends object>(
15
+ options: Options<keyof T extends string ? keyof T : never>,
16
+ ): T;
17
+
18
+ export default codegenNativeCommands;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import type {HostComponent} from 'react-native';
11
+
12
+ interface Options {
13
+ readonly interfaceOnly?: boolean | undefined;
14
+ readonly paperComponentName?: string | undefined;
15
+ readonly paperComponentNameDeprecated?: string | undefined;
16
+ readonly excludedPlatforms?: ReadonlyArray<'iOS' | 'android'> | undefined;
17
+ }
18
+
19
+ type NativeComponentType<T> = HostComponent<T>;
20
+
21
+ declare function codegenNativeComponent<Props extends object>(
22
+ componentName: string,
23
+ options?: Options,
24
+ ): NativeComponentType<Props>;
25
+
26
+ export default codegenNativeComponent;