react-native-windows 0.76.3 → 0.77.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 (369) hide show
  1. package/.flowconfig +5 -1
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
  4. package/Libraries/Animated/AnimatedEvent.js +1 -1
  5. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  6. package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
  7. package/Libraries/Animated/NativeAnimatedAllowlist.windows.js +122 -0
  8. package/Libraries/Animated/animations/Animation.js +60 -25
  9. package/Libraries/Animated/animations/DecayAnimation.js +26 -38
  10. package/Libraries/Animated/animations/SpringAnimation.js +33 -39
  11. package/Libraries/Animated/animations/TimingAnimation.js +34 -42
  12. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  13. package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
  14. package/Libraries/Animated/createAnimatedComponent.js +60 -33
  15. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  16. package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
  18. package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
  19. package/Libraries/Animated/nodes/AnimatedProps.js +96 -46
  20. package/Libraries/Animated/nodes/AnimatedProps.windows.js +281 -0
  21. package/Libraries/Animated/nodes/AnimatedStyle.js +108 -39
  22. package/Libraries/Animated/nodes/AnimatedStyle.windows.js +251 -0
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
  24. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  25. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
  26. package/Libraries/Animated/useAnimatedProps.js +41 -35
  27. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
  28. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
  29. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +82 -5
  30. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
  31. package/Libraries/Components/Button.js +9 -4
  32. package/Libraries/Components/Button.windows.js +19 -5
  33. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
  34. package/Libraries/Components/Glyph/Glyph.js +2 -1
  35. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
  36. package/Libraries/Components/Popup/PopupNativeComponent.js +0 -1
  37. package/Libraries/Components/Pressable/Pressable.js +4 -4
  38. package/Libraries/Components/Pressable/Pressable.windows.js +10 -4
  39. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
  40. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
  41. package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
  42. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
  43. package/Libraries/Components/ScrollView/ScrollView.js +49 -88
  44. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  45. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
  46. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
  47. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +0 -5
  48. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
  49. package/Libraries/Components/Switch/Switch.js +8 -6
  50. package/Libraries/Components/Switch/Switch.windows.js +8 -6
  51. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  52. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
  53. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
  54. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
  55. package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
  56. package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
  57. package/Libraries/Components/TextInput/TextInput.js +37 -13
  58. package/Libraries/Components/TextInput/TextInput.windows.js +47 -16
  59. package/Libraries/Components/TextInput/TextInputState.js +11 -13
  60. package/Libraries/Components/TextInput/TextInputState.windows.js +11 -13
  61. package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
  62. package/Libraries/Components/Touchable/Position.js +7 -2
  63. package/Libraries/Components/Touchable/Touchable.js +4 -0
  64. package/Libraries/Components/Touchable/Touchable.windows.js +4 -0
  65. package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
  66. package/Libraries/Components/Touchable/TouchableBounce.windows.js +227 -0
  67. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
  68. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +5 -5
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +371 -0
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -5
  71. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
  73. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +9 -3
  74. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
  75. package/Libraries/Components/View/View.js +4 -4
  76. package/Libraries/Components/View/View.windows.js +12 -5
  77. package/Libraries/Components/View/ViewAccessibility.d.ts +10 -0
  78. package/Libraries/Components/View/ViewAccessibility.windows.js +2 -0
  79. package/Libraries/Components/View/ViewNativeComponent.js +6 -98
  80. package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  81. package/Libraries/Components/View/ViewPropTypes.js +0 -3
  82. package/Libraries/Components/View/ViewPropTypes.windows.js +2 -3
  83. package/Libraries/Core/ExceptionsManager.js +50 -29
  84. package/Libraries/Core/ReactNativeVersion.js +3 -3
  85. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
  86. package/Libraries/Core/setUpBatchedBridge.js +1 -10
  87. package/Libraries/Core/setUpDeveloperTools.js +1 -5
  88. package/Libraries/Core/setUpErrorHandling.js +20 -18
  89. package/Libraries/Core/setUpReactDevTools.js +107 -8
  90. package/Libraries/Core/setUpSegmentFetcher.js +1 -0
  91. package/Libraries/Core/setUpTimers.js +21 -18
  92. package/Libraries/Debugging/DebuggingOverlay.js +4 -5
  93. package/Libraries/Image/AssetSourceResolver.js +12 -1
  94. package/Libraries/Image/AssetSourceResolver.windows.js +12 -1
  95. package/Libraries/Image/Image.android.js +1 -5
  96. package/Libraries/Image/Image.d.ts +20 -29
  97. package/Libraries/Image/Image.ios.js +0 -2
  98. package/Libraries/Image/Image.windows.js +5 -1
  99. package/Libraries/Image/ImageBackground.js +2 -5
  100. package/Libraries/Image/ImageProps.js +7 -6
  101. package/Libraries/Image/ImageResizeMode.d.ts +8 -1
  102. package/Libraries/Image/ImageResizeMode.js +4 -1
  103. package/Libraries/Image/ImageSource.d.ts +0 -2
  104. package/Libraries/Image/ImageSource.js +0 -2
  105. package/Libraries/Image/ImageTypes.flow.js +11 -9
  106. package/Libraries/Image/ImageUtils.js +6 -3
  107. package/Libraries/Image/ImageViewNativeComponent.js +5 -3
  108. package/Libraries/Inspector/Inspector.js +1 -0
  109. package/Libraries/Inspector/NetworkOverlay.js +4 -0
  110. package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
  111. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
  112. package/Libraries/Interaction/InteractionManager.js +6 -1
  113. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  114. package/Libraries/Interaction/TouchHistoryMath.js +22 -19
  115. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  116. package/Libraries/Lists/FlatList.d.ts +1 -2
  117. package/Libraries/Lists/FlatList.js +2 -2
  118. package/Libraries/Lists/SectionListModern.js +7 -7
  119. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
  120. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  121. package/Libraries/LogBox/Data/LogBoxData.js +3 -3
  122. package/Libraries/LogBox/LogBox.js +18 -5
  123. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  124. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  125. package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
  126. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
  127. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -1
  128. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  129. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
  130. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
  131. package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
  132. package/Libraries/Modal/Modal.d.ts +12 -0
  133. package/Libraries/Modal/Modal.js +31 -4
  134. package/Libraries/Modal/Modal.windows.js +18 -0
  135. package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
  136. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
  137. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -11
  138. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
  139. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
  140. package/Libraries/Network/XHRInterceptor.js +63 -14
  141. package/Libraries/Network/XMLHttpRequest.js +26 -1
  142. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  143. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
  144. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  145. package/Libraries/Pressability/HoverState.js +2 -0
  146. package/Libraries/Pressability/Pressability.js +2 -3
  147. package/Libraries/Pressability/Pressability.windows.js +2 -3
  148. package/Libraries/Pressability/usePressability.js +4 -1
  149. package/Libraries/ReactNative/AppContainer.js +1 -1
  150. package/Libraries/ReactNative/AppRegistry.js +1 -11
  151. package/Libraries/ReactNative/DisplayMode.js +1 -1
  152. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
  153. package/Libraries/ReactNative/RendererImplementation.js +18 -17
  154. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
  155. package/Libraries/ReactNative/renderApplication.js +9 -8
  156. package/Libraries/ReactNative/requireNativeComponent.js +5 -2
  157. package/Libraries/Renderer/shims/ReactFabric.js +3 -3
  158. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  159. package/Libraries/Renderer/shims/ReactNative.js +3 -3
  160. package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
  161. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
  162. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  163. package/Libraries/StyleSheet/StyleSheet.js +7 -1
  164. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
  166. package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
  167. package/Libraries/StyleSheet/processTransform.js +3 -34
  168. package/Libraries/Text/Text.js +248 -249
  169. package/Libraries/Text/Text.windows.js +298 -292
  170. package/Libraries/Text/TextNativeComponent.js +0 -1
  171. package/Libraries/Text/TextProps.windows.js +2 -0
  172. package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
  173. package/Libraries/Types/CoreEventTypes.d.ts +3 -10
  174. package/Libraries/Types/CoreEventTypes.js +4 -6
  175. package/Libraries/Types/CoreEventTypes.windows.js +4 -6
  176. package/Libraries/Utilities/Appearance.js +3 -1
  177. package/Libraries/Utilities/BackHandler.android.js +6 -18
  178. package/Libraries/Utilities/BackHandler.d.ts +0 -4
  179. package/Libraries/Utilities/BackHandler.ios.js +0 -7
  180. package/Libraries/Utilities/BackHandler.windows.js +6 -18
  181. package/Libraries/Utilities/HMRClient.js +3 -4
  182. package/Libraries/Utilities/Platform.flow.js +2 -2
  183. package/Libraries/Utilities/Platform.flow.windows.js +3 -2
  184. package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
  185. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  186. package/Libraries/Utilities/useMergeRefs.js +26 -7
  187. package/Libraries/WebSocket/WebSocketEvent.js +4 -1
  188. package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
  189. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
  190. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  191. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +9 -8
  192. package/Microsoft.ReactNative/AsynchronousEventBeat.h +5 -5
  193. package/Microsoft.ReactNative/FBReactNativeSpec/FBReactNativeSpecJSI.h +5 -0
  194. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +2 -2
  195. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +197 -18
  196. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +19 -1
  197. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +13 -0
  198. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +1 -1
  199. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +6 -8
  200. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +2 -2
  201. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +3 -2
  202. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
  203. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +24 -0
  204. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +5 -0
  205. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -12
  206. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +4 -4
  207. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +4 -8
  208. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +16 -15
  209. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +15 -0
  210. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +9 -0
  211. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +20 -1
  212. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +11 -6
  213. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  214. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +14 -4
  215. package/Microsoft.ReactNative/SynchronousEventBeat.h +4 -2
  216. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.cpp +78 -0
  217. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.h +51 -0
  218. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.inc +48 -0
  219. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.cpp +41 -0
  220. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.h +127 -0
  221. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.inc +125 -0
  222. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_posix.cpp +16 -0
  223. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_win.cpp +23 -0
  224. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +834 -0
  225. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +117 -0
  226. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +366 -0
  227. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +560 -0
  228. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +1611 -0
  229. package/Microsoft.ReactNative.Cxx/JSI/threadsafe.h +79 -0
  230. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +7 -11
  231. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -1
  232. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +2878 -0
  233. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.h +36 -0
  234. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +64 -0
  235. package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +22 -0
  236. package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModule.cpp +63 -63
  237. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +165 -0
  238. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +105 -0
  239. package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModuleUtils.h +57 -58
  240. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +42 -0
  241. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +151 -0
  242. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Base.h +177 -154
  243. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +25 -0
  244. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +21 -0
  245. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +67 -0
  246. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +90 -0
  247. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Convert.h +170 -172
  248. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +51 -0
  249. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/EventEmitter.h +134 -136
  250. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Function.h +283 -283
  251. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.cpp +63 -0
  252. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +61 -0
  253. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +93 -0
  254. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +104 -0
  255. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +107 -0
  256. package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/flags.h +22 -0
  257. package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +72 -0
  258. package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +553 -0
  259. package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +167 -0
  260. package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +186 -0
  261. package/Microsoft.ReactNative.Cxx/stubs/glog/logging.h +82 -0
  262. package/PropertySheets/Bundle.Common.targets +1 -1
  263. package/PropertySheets/Bundle.props +3 -0
  264. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  265. package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  266. package/PropertySheets/OutputMSBuildProperties.targets +3 -1
  267. package/ReactCommon/ReactCommon.vcxproj +5 -0
  268. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -3
  269. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +61 -0
  270. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +26 -23
  271. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +150 -0
  272. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +252 -0
  273. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +795 -0
  274. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +59 -0
  275. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +188 -39
  276. package/Scripts/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  277. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +97 -62
  278. package/Shared/InspectorPackagerConnection.cpp +3 -6
  279. package/Shared/InspectorPackagerConnection.h +2 -2
  280. package/Shared/InstanceManager.h +1 -1
  281. package/Shared/OInstance.h +1 -1
  282. package/Shared/Shared.vcxitems +17 -2
  283. package/Shared/Shared.vcxitems.filters +3 -1
  284. package/Shared/TurboModuleManager.cpp +29 -4
  285. package/codegen/NativeAccessibilityInfoSpec.g.h +27 -9
  286. package/codegen/NativeAccessibilityManagerSpec.g.h +19 -13
  287. package/codegen/NativeActionSheetManagerSpec.g.h +4 -0
  288. package/codegen/NativeExceptionsManagerSpec.g.h +1 -7
  289. package/codegen/NativeIntersectionObserverSpec.g.h +2 -0
  290. package/codegen/NativePerformanceSpec.g.h +127 -3
  291. package/codegen/NativeReactDevToolsRuntimeSettingsModuleSpec.g.h +67 -0
  292. package/codegen/NativeReactDevToolsSettingsManagerSpec.g.h +41 -0
  293. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +125 -137
  294. package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
  295. package/codegen/react/components/rnwcore/Props.cpp +1 -0
  296. package/codegen/react/components/rnwcore/Props.h +1 -0
  297. package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
  298. package/codegen/react/components/rnwcore/ShadowNodes.h +0 -11
  299. package/codegen/react/components/rnwcore/States.h +0 -12
  300. package/codegen/rnwcoreJSI-generated.cpp +219 -186
  301. package/codegen/rnwcoreJSI.h +942 -511
  302. package/index.js +10 -3
  303. package/index.windows.js +10 -3
  304. package/jest/setup.js +36 -1
  305. package/just-task.js +15 -0
  306. package/package.json +22 -22
  307. package/src/private/animated/NativeAnimatedHelper.js +18 -16
  308. package/src/private/animated/useAnimatedPropsMemo.js +348 -0
  309. package/src/private/animated/useAnimatedPropsMemo.windows.js +356 -0
  310. package/src/private/components/HScrollViewNativeComponents.js +1 -27
  311. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
  312. package/src/private/components/VScrollViewNativeComponents.js +2 -25
  313. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  314. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  315. package/src/private/debugging/ReactDevToolsSettingsManager.windows.js +20 -0
  316. package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
  317. package/src/private/devmenu/DevMenu.d.ts +20 -0
  318. package/src/private/devmenu/DevMenu.js +31 -0
  319. package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
  320. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
  321. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
  322. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  323. package/src/private/setup/setUpDOM.js +14 -6
  324. package/src/private/setup/setUpMutationObserver.js +5 -0
  325. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
  326. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  327. package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
  328. package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
  329. package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
  330. package/src/private/specs/modules/NativeAppearance.js +4 -10
  331. package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
  332. package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
  333. package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
  334. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
  335. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
  336. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
  337. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
  338. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
  339. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  340. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
  341. package/src/private/webapis/performance/EventTiming.js +13 -8
  342. package/src/private/webapis/performance/Performance.js +66 -73
  343. package/src/private/webapis/performance/PerformanceEntry.js +2 -5
  344. package/src/private/webapis/performance/PerformanceObserver.js +65 -164
  345. package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
  346. package/src/private/webapis/performance/UserTiming.js +11 -7
  347. package/src/private/webapis/performance/Utilities.js +18 -0
  348. package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
  349. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  350. package/templates/cpp-lib/template.config.js +13 -7
  351. package/templates/templateUtils.js +10 -0
  352. package/types/index.d.ts +1 -1
  353. package/types/public/ReactNativeTypes.d.ts +4 -8
  354. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
  355. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
  356. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
  357. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +0 -35
  358. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
  359. package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
  360. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +0 -101
  361. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +0 -569
  362. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +0 -53
  363. package/codegen/NativePerformanceObserverSpec.g.h +0 -131
  364. package/src/private/components/useSyncOnScroll.js +0 -48
  365. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
  366. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
  367. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
  368. package/types/experimental.d.ts +0 -59
  369. /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
@@ -14,7 +14,7 @@
14
14
  #include <jsi/jsi.h>
15
15
 
16
16
  #include <ReactCommon/CallInvoker.h>
17
- #include <EventEmitter.h> // [Windows #13391]
17
+ #include <react/bridging/EventEmitter.h>
18
18
 
19
19
  namespace facebook::react {
20
20
 
@@ -46,30 +46,33 @@ class TurboModuleBinding;
46
46
  /**
47
47
  * Base HostObject class for every module to be exposed to JS
48
48
  */
49
- class JSI_EXPORT TurboModule : public facebook::jsi::HostObject {
49
+ class JSI_EXPORT TurboModule : public jsi::HostObject {
50
50
  public:
51
51
  TurboModule(std::string name, std::shared_ptr<CallInvoker> jsInvoker);
52
52
 
53
+ // DO NOT OVERRIDE - it will become final in a future release.
54
+ // This method provides automatic caching of properties on the TurboModule's
55
+ // JS representation. To customize lookup of properties, override `create`.
53
56
  // Note: keep this method declared inline to avoid conflicts
54
57
  // between RTTI and non-RTTI compilation units
55
- facebook::jsi::Value get(
56
- facebook::jsi::Runtime& runtime,
57
- const facebook::jsi::PropNameID& propName) override {
58
- {
59
- auto prop = create(runtime, propName);
60
- // If we have a JS wrapper, cache the result of this lookup
61
- // We don't cache misses, to allow for methodMap_ to dynamically be
62
- // extended
63
- if (jsRepresentation_ && !prop.isUndefined()) {
64
- jsRepresentation_->lock(runtime).asObject(runtime).setProperty(
65
- runtime, propName, prop);
66
- }
67
- return prop;
58
+ jsi::Value get(jsi::Runtime& runtime, const jsi::PropNameID& propName)
59
+ override {
60
+ auto prop = create(runtime, propName);
61
+ // If we have a JS wrapper, cache the result of this lookup
62
+ // We don't cache misses, to allow for methodMap_ to dynamically be
63
+ // extended
64
+ // [Windows] Reenable once https://github.com/microsoft/react-native-windows/issues/14128 is fixed
65
+ #ifndef WINAPI_FAMILY
66
+ if (jsRepresentation_ && !prop.isUndefined()) {
67
+ jsRepresentation_->lock(runtime).asObject(runtime).setProperty(
68
+ runtime, propName, prop);
68
69
  }
70
+ #endif
71
+ return prop;
69
72
  }
70
73
 
71
- virtual std::vector<facebook::jsi::PropNameID> getPropertyNames(
72
- facebook::jsi::Runtime& runtime) override {
74
+ std::vector<jsi::PropNameID> getPropertyNames(
75
+ jsi::Runtime& runtime) override {
73
76
  std::vector<jsi::PropNameID> result;
74
77
  result.reserve(methodMap_.size());
75
78
  for (auto it = methodMap_.cbegin(); it != methodMap_.cend(); ++it) {
@@ -84,10 +87,10 @@ class JSI_EXPORT TurboModule : public facebook::jsi::HostObject {
84
87
 
85
88
  struct MethodMetadata {
86
89
  size_t argCount;
87
- facebook::jsi::Value (*invoker)(
88
- facebook::jsi::Runtime& rt,
90
+ jsi::Value (*invoker)(
91
+ jsi::Runtime& rt,
89
92
  TurboModule& turboModule,
90
- const facebook::jsi::Value* args,
93
+ const jsi::Value* args,
91
94
  size_t count);
92
95
  };
93
96
  std::unordered_map<std::string, MethodMetadata> methodMap_;
@@ -141,13 +144,13 @@ class JSI_EXPORT TurboModule : public facebook::jsi::HostObject {
141
144
  } else if (auto eventEmitterIter = eventEmitterMap_.find(propNameUtf8);
142
145
  eventEmitterIter != eventEmitterMap_.end()) {
143
146
  return eventEmitterIter->second->get(runtime, jsInvoker_);
147
+ } else {
148
+ // Neither Method nor EventEmitter were found, let JS decide what to do
149
+ return jsi::Value::undefined();
144
150
  }
145
- // Neither Method nor EventEmitter were not found, let JS decide what to do.
146
- return facebook::jsi::Value::undefined();
147
151
  }
148
152
 
149
153
  private:
150
- friend class TurboCxxModule;
151
154
  friend class TurboModuleBinding;
152
155
  std::unique_ptr<jsi::WeakObject> jsRepresentation_;
153
156
  };
@@ -0,0 +1,150 @@
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
+
8
+ #include "ComponentDescriptorRegistry.h"
9
+
10
+ #include "componentNameByReactViewName.h"
11
+
12
+ #include <react/config/ReactNativeConfig.h>
13
+ #include <react/debug/react_native_assert.h>
14
+ #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
15
+ #include <react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h>
16
+ #include <react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h>
17
+ #include <react/renderer/core/PropsParserContext.h>
18
+ #include <react/renderer/core/ShadowNodeFragment.h>
19
+ #include <utility>
20
+
21
+ namespace facebook::react {
22
+
23
+ ComponentDescriptorRegistry::ComponentDescriptorRegistry(
24
+ ComponentDescriptorParameters parameters,
25
+ const ComponentDescriptorProviderRegistry& providerRegistry,
26
+ ContextContainer::Shared contextContainer)
27
+ : parameters_(std::move(parameters)),
28
+ providerRegistry_(providerRegistry),
29
+ contextContainer_(std::move(contextContainer)) {}
30
+
31
+ void ComponentDescriptorRegistry::add(
32
+ ComponentDescriptorProvider componentDescriptorProvider) const {
33
+ std::unique_lock lock(mutex_);
34
+
35
+ auto componentDescriptor = componentDescriptorProvider.constructor(
36
+ {parameters_.eventDispatcher,
37
+ parameters_.contextContainer,
38
+ componentDescriptorProvider.flavor});
39
+ react_native_assert(
40
+ componentDescriptor->getComponentHandle() ==
41
+ componentDescriptorProvider.handle);
42
+ react_native_assert(
43
+ componentDescriptor->getComponentName() ==
44
+ componentDescriptorProvider.name);
45
+
46
+ auto sharedComponentDescriptor = std::shared_ptr<const ComponentDescriptor>(
47
+ std::move(componentDescriptor));
48
+ _registryByHandle[componentDescriptorProvider.handle] =
49
+ sharedComponentDescriptor;
50
+ _registryByName[componentDescriptorProvider.name] = sharedComponentDescriptor;
51
+ }
52
+
53
+ void ComponentDescriptorRegistry::registerComponentDescriptor(
54
+ const SharedComponentDescriptor& componentDescriptor) const {
55
+ ComponentHandle componentHandle = componentDescriptor->getComponentHandle();
56
+ _registryByHandle[componentHandle] = componentDescriptor;
57
+
58
+ ComponentName componentName = componentDescriptor->getComponentName();
59
+ _registryByName[componentName] = componentDescriptor;
60
+ }
61
+
62
+ const ComponentDescriptor& ComponentDescriptorRegistry::at(
63
+ const std::string& componentName) const {
64
+ std::shared_lock lock(mutex_);
65
+
66
+ auto unifiedComponentName = componentNameByReactViewName(componentName);
67
+
68
+ auto it = _registryByName.find(unifiedComponentName);
69
+ if (it == _registryByName.end()) {
70
+ lock.unlock();
71
+ providerRegistry_.request(unifiedComponentName.c_str());
72
+ lock.lock();
73
+
74
+ it = _registryByName.find(unifiedComponentName);
75
+
76
+ /*
77
+ * TODO: T54849676
78
+ * Uncomment the `assert` after the following block that checks
79
+ * `_fallbackComponentDescriptor` is no longer needed. The assert assumes
80
+ * that `componentDescriptorProviderRequest` is always not null and register
81
+ * some component on every single request.
82
+ */
83
+ // assert(it != _registryByName.end());
84
+ }
85
+
86
+ if (it == _registryByName.end()) {
87
+ // [Windows ##14204
88
+ auto reactNativeConfig_ =
89
+ contextContainer_->at<std::shared_ptr<const ReactNativeConfig>>(
90
+ "ReactNativeConfig");
91
+ if (reactNativeConfig_->getBool(
92
+ "react_fabric:enabled_automatic_interop_android")) {
93
+ auto componentDescriptor = std::make_shared<
94
+ const UnstableLegacyViewManagerAutomaticComponentDescriptor>(
95
+ parameters_, unifiedComponentName);
96
+ registerComponentDescriptor(componentDescriptor);
97
+ return *_registryByName.find(unifiedComponentName)->second;
98
+ } else if (_fallbackComponentDescriptor == nullptr) {
99
+ throw std::invalid_argument(
100
+ ("Unable to find componentDescriptor for " + unifiedComponentName)
101
+ .c_str());
102
+ } else {
103
+ return *_fallbackComponentDescriptor.get();
104
+ }
105
+ // Windows]
106
+ }
107
+
108
+ return *it->second;
109
+ }
110
+
111
+ const ComponentDescriptor* ComponentDescriptorRegistry::
112
+ findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(
113
+ ComponentHandle componentHandle) const {
114
+ std::shared_lock lock(mutex_);
115
+
116
+ auto iterator = _registryByHandle.find(componentHandle);
117
+ if (iterator == _registryByHandle.end()) {
118
+ return nullptr;
119
+ }
120
+
121
+ return iterator->second.get();
122
+ }
123
+
124
+ const ComponentDescriptor& ComponentDescriptorRegistry::at(
125
+ ComponentHandle componentHandle) const {
126
+ std::shared_lock lock(mutex_);
127
+
128
+ return *_registryByHandle.at(componentHandle);
129
+ }
130
+
131
+ bool ComponentDescriptorRegistry::hasComponentDescriptorAt(
132
+ ComponentHandle componentHandle) const {
133
+ std::shared_lock lock(mutex_);
134
+
135
+ auto iterator = _registryByHandle.find(componentHandle);
136
+ return iterator != _registryByHandle.end();
137
+ }
138
+
139
+ void ComponentDescriptorRegistry::setFallbackComponentDescriptor(
140
+ const SharedComponentDescriptor& descriptor) {
141
+ _fallbackComponentDescriptor = descriptor;
142
+ registerComponentDescriptor(descriptor);
143
+ }
144
+
145
+ ComponentDescriptor::Shared
146
+ ComponentDescriptorRegistry::getFallbackComponentDescriptor() const {
147
+ return _fallbackComponentDescriptor;
148
+ }
149
+
150
+ } // namespace facebook::react
@@ -0,0 +1,252 @@
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
+
8
+ #pragma once
9
+
10
+ #include <cinttypes>
11
+ #include <optional>
12
+ #include <string>
13
+ #include <vector>
14
+
15
+ namespace facebook::react {
16
+
17
+ enum class AccessibilityTraits : uint32_t {
18
+ None = 0,
19
+ Button = (1 << 0),
20
+ Link = (1 << 1),
21
+ Image = (1 << 2),
22
+ Selected = (1 << 3),
23
+ PlaysSound = (1 << 4),
24
+ KeyboardKey = (1 << 5),
25
+ StaticText = (1 << 6),
26
+ SummaryElement = (1 << 7),
27
+ NotEnabled = (1 << 8),
28
+ UpdatesFrequently = (1 << 9),
29
+ SearchField = (1 << 10),
30
+ StartsMediaSession = (1 << 11),
31
+ Adjustable = (1 << 12),
32
+ AllowsDirectInteraction = (1 << 13),
33
+ CausesPageTurn = (1 << 14),
34
+ Header = (1 << 15),
35
+ Switch = (1 << 16),
36
+ TabBar = (1 << 17),
37
+ };
38
+
39
+ constexpr enum AccessibilityTraits operator|(
40
+ const enum AccessibilityTraits lhs,
41
+ const enum AccessibilityTraits rhs) {
42
+ return (enum AccessibilityTraits)((uint32_t)lhs | (uint32_t)rhs);
43
+ }
44
+
45
+ constexpr enum AccessibilityTraits operator&(
46
+ const enum AccessibilityTraits lhs,
47
+ const enum AccessibilityTraits rhs) {
48
+ return (enum AccessibilityTraits)((uint32_t)lhs & (uint32_t)rhs);
49
+ }
50
+
51
+ struct AccessibilityAction {
52
+ std::string name{""};
53
+ std::optional<std::string> label{};
54
+ };
55
+
56
+ inline static bool operator==(
57
+ const AccessibilityAction& lhs,
58
+ const AccessibilityAction& rhs) {
59
+ return lhs.name == rhs.name && lhs.label == rhs.label;
60
+ }
61
+
62
+ inline static bool operator!=(
63
+ const AccessibilityAction& lhs,
64
+ const AccessibilityAction& rhs) {
65
+ return !(rhs == lhs);
66
+ }
67
+
68
+ struct AccessibilityState {
69
+ bool disabled{false};
70
+ std::optional<bool> selected{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionItemProvider Implementation
71
+ bool busy{false};
72
+ std::optional<bool> expanded{std::nullopt};
73
+ std::optional<bool> multiselectable{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionProvider Implementation
74
+ std::optional<bool> required{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionProvider Implementation
75
+ enum { Unchecked, Checked, Mixed, None } checked{None};
76
+ };
77
+
78
+ constexpr bool operator==(
79
+ const AccessibilityState& lhs,
80
+ const AccessibilityState& rhs) {
81
+ return lhs.disabled == rhs.disabled && lhs.selected == rhs.selected &&
82
+ lhs.checked == rhs.checked && lhs.busy == rhs.busy &&
83
+ lhs.expanded == rhs.expanded;
84
+ }
85
+
86
+ constexpr bool operator!=(
87
+ const AccessibilityState& lhs,
88
+ const AccessibilityState& rhs) {
89
+ return !(rhs == lhs);
90
+ }
91
+
92
+ struct AccessibilityLabelledBy {
93
+ std::vector<std::string> value{};
94
+ };
95
+
96
+ inline static bool operator==(
97
+ const AccessibilityLabelledBy& lhs,
98
+ const AccessibilityLabelledBy& rhs) {
99
+ return lhs.value == rhs.value;
100
+ }
101
+
102
+ inline static bool operator!=(
103
+ const AccessibilityLabelledBy& lhs,
104
+ const AccessibilityLabelledBy& rhs) {
105
+ return !(lhs == rhs);
106
+ }
107
+
108
+ struct AccessibilityValue {
109
+ std::optional<int> min;
110
+ std::optional<int> max;
111
+ std::optional<int> now;
112
+ std::optional<std::string> text{};
113
+ };
114
+
115
+ constexpr bool operator==(
116
+ const AccessibilityValue& lhs,
117
+ const AccessibilityValue& rhs) {
118
+ return lhs.min == rhs.min && lhs.max == rhs.max && lhs.now == rhs.now &&
119
+ lhs.text == rhs.text;
120
+ }
121
+
122
+ constexpr bool operator!=(
123
+ const AccessibilityValue& lhs,
124
+ const AccessibilityValue& rhs) {
125
+ return !(rhs == lhs);
126
+ }
127
+
128
+ enum class ImportantForAccessibility : uint8_t {
129
+ Auto,
130
+ Yes,
131
+ No,
132
+ NoHideDescendants,
133
+ };
134
+
135
+ enum class AccessibilityLiveRegion : uint8_t {
136
+ None,
137
+ Polite,
138
+ Assertive,
139
+ };
140
+
141
+ enum class AccessibilityRole {
142
+ None,
143
+ Button,
144
+ Dropdownlist,
145
+ Togglebutton,
146
+ Link,
147
+ Search,
148
+ Image,
149
+ Keyboardkey,
150
+ Text,
151
+ Adjustable,
152
+ Imagebutton,
153
+ Header,
154
+ Summary,
155
+ Alert,
156
+ Checkbox,
157
+ Combobox,
158
+ Menu,
159
+ Menubar,
160
+ Menuitem,
161
+ Progressbar,
162
+ Radio,
163
+ Radiogroup,
164
+ Scrollbar,
165
+ Spinbutton,
166
+ Switch,
167
+ Tab,
168
+ Tabbar,
169
+ Tablist,
170
+ Timer,
171
+ List,
172
+ Toolbar,
173
+ Grid,
174
+ Pager,
175
+ Scrollview,
176
+ Horizontalscrollview,
177
+ Viewgroup,
178
+ Webview,
179
+ Drawerlayout,
180
+ Slidingdrawer,
181
+ Iconmenu,
182
+ };
183
+
184
+ enum class Role {
185
+ Alert,
186
+ Alertdialog,
187
+ Application,
188
+ Article,
189
+ Banner,
190
+ Button,
191
+ Cell,
192
+ Checkbox,
193
+ Columnheader,
194
+ Combobox,
195
+ Complementary,
196
+ Contentinfo,
197
+ Definition,
198
+ Dialog,
199
+ Directory,
200
+ Document,
201
+ Feed,
202
+ Figure,
203
+ Form,
204
+ Grid,
205
+ Group,
206
+ Heading,
207
+ Img,
208
+ Link,
209
+ List,
210
+ Listitem,
211
+ Log,
212
+ Main,
213
+ Marquee,
214
+ Math,
215
+ Menu,
216
+ Menubar,
217
+ Menuitem,
218
+ Meter,
219
+ Navigation,
220
+ None,
221
+ Note,
222
+ Option,
223
+ Presentation,
224
+ Progressbar,
225
+ Radio,
226
+ Radiogroup,
227
+ Region,
228
+ Row,
229
+ Rowgroup,
230
+ Rowheader,
231
+ Scrollbar,
232
+ Searchbox,
233
+ Separator,
234
+ Slider,
235
+ Spinbutton,
236
+ Status,
237
+ Summary,
238
+ Switch,
239
+ Tab,
240
+ Table,
241
+ Tablist,
242
+ Tabpanel,
243
+ Term,
244
+ Timer,
245
+ Toolbar,
246
+ Tooltip,
247
+ Tree,
248
+ Treegrid,
249
+ Treeitem,
250
+ };
251
+
252
+ } // namespace facebook::react