react-native-windows 0.70.7 → 0.71.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (917) hide show
  1. package/.flowconfig +3 -6
  2. package/Directory.Build.props +2 -2
  3. package/Folly/Folly.vcxproj +4 -2
  4. package/Folly/Folly.vcxproj.filters +7 -3
  5. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +59 -43
  6. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +192 -0
  7. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +7 -5
  8. package/Folly/cgmanifest.json +2 -1
  9. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
  10. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
  11. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  12. package/Libraries/Alert/Alert.d.ts +90 -0
  13. package/Libraries/Alert/Alert.js +7 -1
  14. package/Libraries/Alert/Alert.windows.js +2 -1
  15. package/Libraries/Alert/NativeAlertManager.js +2 -0
  16. package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
  17. package/Libraries/Animated/Animated.d.ts +587 -0
  18. package/Libraries/Animated/Animated.js +13 -11
  19. package/Libraries/Animated/AnimatedEvent.js +12 -17
  20. package/Libraries/Animated/AnimatedImplementation.js +21 -23
  21. package/Libraries/Animated/AnimatedMock.js +11 -13
  22. package/Libraries/Animated/AnimatedWeb.js +2 -2
  23. package/Libraries/Animated/Easing.d.ts +37 -0
  24. package/Libraries/Animated/Easing.js +2 -2
  25. package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
  26. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  27. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  28. package/Libraries/Animated/SpringConfig.js +2 -7
  29. package/Libraries/Animated/animations/Animation.js +3 -4
  30. package/Libraries/Animated/animations/DecayAnimation.js +5 -8
  31. package/Libraries/Animated/animations/SpringAnimation.js +9 -14
  32. package/Libraries/Animated/animations/TimingAnimation.js +9 -13
  33. package/Libraries/Animated/bezier.js +2 -2
  34. package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
  35. package/Libraries/Animated/components/AnimatedImage.js +5 -6
  36. package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
  37. package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
  38. package/Libraries/Animated/components/AnimatedText.js +5 -6
  39. package/Libraries/Animated/components/AnimatedView.js +5 -6
  40. package/Libraries/Animated/createAnimatedComponent.js +13 -20
  41. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
  42. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
  43. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  44. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
  45. package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
  46. package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
  47. package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
  48. package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
  49. package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
  50. package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
  51. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
  52. package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
  53. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
  54. package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
  55. package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
  56. package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
  57. package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
  58. package/Libraries/Animated/useAnimatedProps.js +8 -16
  59. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  60. package/Libraries/Animated/useAnimatedValue.js +25 -0
  61. package/Libraries/AppState/AppState.d.ts +58 -0
  62. package/Libraries/AppState/AppState.js +3 -7
  63. package/Libraries/AppState/NativeAppState.js +1 -0
  64. package/Libraries/BatchedBridge/MessageQueue.js +9 -5
  65. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  66. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  67. package/Libraries/Blob/BlobManager.js +5 -3
  68. package/Libraries/Blob/File.js +2 -3
  69. package/Libraries/Blob/FileReader.js +6 -5
  70. package/Libraries/Blob/NativeBlobModule.js +1 -0
  71. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  72. package/Libraries/Blob/URL.js +11 -9
  73. package/Libraries/BugReporting/NativeBugReporting.js +1 -0
  74. package/Libraries/BugReporting/getReactData.js +1 -1
  75. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
  76. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
  77. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
  78. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +40 -8
  79. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
  80. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
  81. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  82. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
  83. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
  84. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  85. package/Libraries/Components/Button.d.ts +42 -0
  86. package/Libraries/Components/Button.flow.js +265 -0
  87. package/Libraries/Components/Button.js +62 -18
  88. package/Libraries/Components/Button.windows.js +62 -18
  89. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  90. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
  91. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
  92. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
  93. package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
  94. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
  95. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
  96. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +4 -2
  97. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
  98. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
  99. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
  100. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
  101. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  102. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  103. package/Libraries/Components/Keyboard/Keyboard.js +35 -8
  104. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  105. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
  106. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
  107. package/Libraries/Components/Popup/PopupProps.d.ts +1 -0
  108. package/Libraries/Components/Popup/PopupProps.js.map +1 -1
  109. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  110. package/Libraries/Components/Pressable/Pressable.js +73 -15
  111. package/Libraries/Components/Pressable/Pressable.windows.js +78 -20
  112. package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
  113. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
  114. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  115. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  116. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  117. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
  118. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
  119. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +1 -1
  120. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
  121. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
  122. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
  123. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  124. package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
  125. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +4 -3
  126. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  127. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  128. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  129. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
  130. package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
  131. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +5 -4
  132. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
  133. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
  134. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
  135. package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
  136. package/Libraries/Components/ScrollView/ScrollView.js +87 -52
  137. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  138. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
  139. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
  140. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
  141. package/Libraries/Components/Slider/Slider.d.ts +132 -0
  142. package/Libraries/Components/Slider/Slider.js +9 -9
  143. package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
  144. package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
  145. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
  146. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
  147. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  148. package/Libraries/Components/StatusBar/StatusBar.js +7 -7
  149. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
  150. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  151. package/Libraries/Components/Switch/Switch.js +7 -7
  152. package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
  153. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
  154. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  155. package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
  156. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  157. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
  158. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
  159. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  160. package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
  161. package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
  162. package/Libraries/Components/TextInput/TextInput.js +344 -38
  163. package/Libraries/Components/TextInput/TextInput.windows.js +348 -38
  164. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
  165. package/Libraries/Components/TextInput/TextInputState.js +22 -5
  166. package/Libraries/Components/TextInput/TextInputState.windows.js +22 -5
  167. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
  168. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  169. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  170. package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
  171. package/Libraries/Components/Touchable/Touchable.js +12 -12
  172. package/Libraries/Components/Touchable/Touchable.windows.js +12 -12
  173. package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
  174. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  175. package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
  176. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +32 -9
  177. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  178. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
  179. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  180. package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
  181. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +54 -16
  182. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  183. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
  184. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +64 -10
  185. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  186. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  187. package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
  188. package/Libraries/Components/View/View.d.ts +29 -0
  189. package/Libraries/Components/View/View.js +91 -8
  190. package/Libraries/Components/View/View.windows.js +181 -94
  191. package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
  192. package/Libraries/Components/View/ViewAccessibility.js +70 -1
  193. package/Libraries/Components/View/ViewAccessibility.windows.js +69 -0
  194. package/Libraries/Components/View/ViewNativeComponent.js +3 -3
  195. package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
  196. package/Libraries/Components/View/ViewPropTypes.js +105 -13
  197. package/Libraries/Components/View/ViewPropTypes.windows.js +105 -13
  198. package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
  199. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  200. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  201. package/Libraries/Core/ExceptionsManager.js +8 -0
  202. package/Libraries/Core/ExtendedError.js +11 -8
  203. package/Libraries/Core/InitializeCore.js +2 -1
  204. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  205. package/Libraries/Core/RawEventEmitter.js +2 -1
  206. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  207. package/Libraries/Core/ReactNativeVersion.js +2 -2
  208. package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
  209. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  210. package/Libraries/Core/Timers/JSTimers.js +13 -11
  211. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  212. package/Libraries/Core/setUpBatchedBridge.js +1 -5
  213. package/Libraries/Core/setUpDeveloperTools.js +4 -6
  214. package/Libraries/Core/setUpReactDevTools.js +4 -1
  215. package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
  216. package/Libraries/Core/setUpTimers.js +1 -1
  217. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
  218. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
  219. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
  220. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  221. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  222. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
  223. package/Libraries/Events/EventPolyfill.js +1 -1
  224. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
  225. package/Libraries/Image/AssetSourceResolver.js +4 -6
  226. package/Libraries/Image/Image.android.js +63 -45
  227. package/Libraries/Image/Image.d.ts +322 -0
  228. package/Libraries/Image/Image.flow.js +64 -0
  229. package/Libraries/Image/Image.ios.js +55 -28
  230. package/Libraries/Image/Image.windows.js +56 -30
  231. package/Libraries/Image/ImageBackground.js +18 -7
  232. package/Libraries/Image/ImageInjection.js +2 -1
  233. package/Libraries/Image/ImageProps.js +88 -5
  234. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  235. package/Libraries/Image/ImageSource.d.ts +76 -0
  236. package/Libraries/Image/ImageSourceUtils.js +80 -0
  237. package/Libraries/Image/ImageUtils.js +21 -0
  238. package/Libraries/Image/ImageViewNativeComponent.js +8 -5
  239. package/Libraries/Image/NativeImageEditor.js +1 -0
  240. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  241. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  242. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  243. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  244. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
  245. package/Libraries/Image/nativeImageSource.js +2 -2
  246. package/Libraries/Image/resolveAssetSource.js +5 -5
  247. package/Libraries/Inspector/BorderBox.js +1 -1
  248. package/Libraries/Inspector/BoxInspector.js +3 -4
  249. package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
  250. package/Libraries/Inspector/ElementBox.js +4 -5
  251. package/Libraries/Inspector/ElementProperties.js +10 -11
  252. package/Libraries/Inspector/Inspector.js +22 -108
  253. package/Libraries/Inspector/InspectorOverlay.js +5 -5
  254. package/Libraries/Inspector/InspectorPanel.js +12 -10
  255. package/Libraries/Inspector/NetworkOverlay.js +7 -3
  256. package/Libraries/Inspector/PerformanceOverlay.js +3 -3
  257. package/Libraries/Inspector/StyleInspector.js +2 -2
  258. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
  259. package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
  260. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  261. package/Libraries/Interaction/InteractionManager.js +8 -8
  262. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  263. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  264. package/Libraries/Interaction/PanResponder.flow.js +257 -0
  265. package/Libraries/Interaction/PanResponder.js +4 -3
  266. package/Libraries/JSInspector/JSInspector.js +0 -3
  267. package/Libraries/JSInspector/NetworkAgent.js +3 -3
  268. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  269. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
  270. package/Libraries/Linking/Linking.d.ts +61 -0
  271. package/Libraries/Linking/Linking.js +3 -2
  272. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  273. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  274. package/Libraries/Lists/CellRenderMask.js +13 -3
  275. package/Libraries/Lists/ChildListCollection.js +72 -0
  276. package/Libraries/Lists/FillRateHelper.js +28 -17
  277. package/Libraries/Lists/FlatList.d.ts +292 -0
  278. package/Libraries/Lists/FlatList.js +70 -70
  279. package/Libraries/Lists/SectionList.d.ts +300 -0
  280. package/Libraries/Lists/SectionList.js +5 -5
  281. package/Libraries/Lists/SectionListModern.js +6 -6
  282. package/Libraries/Lists/StateSafePureComponent.js +85 -0
  283. package/Libraries/Lists/ViewabilityHelper.js +33 -12
  284. package/Libraries/Lists/VirtualizeUtils.js +17 -13
  285. package/Libraries/Lists/VirtualizedList.d.ts +317 -0
  286. package/Libraries/Lists/VirtualizedList.js +548 -890
  287. package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
  288. package/Libraries/Lists/VirtualizedListContext.js +7 -48
  289. package/Libraries/Lists/VirtualizedListProps.js +279 -0
  290. package/Libraries/Lists/VirtualizedSectionList.js +6 -3
  291. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  292. package/Libraries/LogBox/Data/LogBoxData.js +9 -8
  293. package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
  294. package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
  295. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
  296. package/Libraries/LogBox/LogBox.d.ts +28 -0
  297. package/Libraries/LogBox/LogBox.js +11 -11
  298. package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
  299. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  300. package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
  301. package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
  302. package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
  303. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
  304. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
  305. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
  306. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
  307. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
  308. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  309. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
  310. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
  311. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
  312. package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
  313. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
  314. package/Libraries/Modal/Modal.d.ts +104 -0
  315. package/Libraries/Modal/Modal.js +14 -14
  316. package/Libraries/Modal/NativeModalManager.js +1 -0
  317. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
  318. package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
  319. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
  320. package/Libraries/NativeComponent/BaseViewConfig.windows.js +8 -3
  321. package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
  322. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
  323. package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
  324. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  325. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
  326. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  327. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  328. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  329. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  330. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
  331. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  332. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  333. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  334. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  335. package/Libraries/Network/RCTNetworking.android.js +4 -3
  336. package/Libraries/Network/RCTNetworking.ios.js +3 -2
  337. package/Libraries/Network/RCTNetworking.windows.js +1 -0
  338. package/Libraries/Network/convertRequestBody.js +1 -2
  339. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
  340. package/Libraries/NewAppScreen/components/Header.js +6 -2
  341. package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
  342. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
  343. package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
  344. package/Libraries/NewAppScreen/index.js +1 -1
  345. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
  346. package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
  347. package/Libraries/Performance/Systrace.d.ts +66 -0
  348. package/Libraries/Performance/Systrace.js +110 -195
  349. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  350. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
  351. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
  352. package/Libraries/Pressability/Pressability.js +12 -10
  353. package/Libraries/Pressability/Pressability.windows.js +21 -12
  354. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  355. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  356. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
  357. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
  358. package/Libraries/ReactNative/AppContainer.js +17 -7
  359. package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
  360. package/Libraries/ReactNative/AppRegistry.js +11 -14
  361. package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
  362. package/Libraries/ReactNative/FabricUIManager.js +3 -3
  363. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  364. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  365. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  366. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  367. package/Libraries/ReactNative/PaperUIManager.js +2 -2
  368. package/Libraries/ReactNative/PaperUIManager.windows.js +1 -1
  369. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
  370. package/Libraries/ReactNative/RendererImplementation.js +112 -0
  371. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  372. package/Libraries/ReactNative/RendererProxy.js +26 -0
  373. package/Libraries/ReactNative/RootTag.js +0 -1
  374. package/Libraries/ReactNative/UIManager.d.ts +157 -0
  375. package/Libraries/ReactNative/UIManager.js +1 -1
  376. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
  377. package/Libraries/ReactNative/renderApplication.js +38 -20
  378. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  379. package/Libraries/ReactNative/requireNativeComponent.js +2 -2
  380. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
  381. package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
  382. package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
  383. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
  384. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
  385. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
  386. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
  387. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
  388. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  389. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  390. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  391. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
  392. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
  393. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
  394. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  395. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  396. package/Libraries/Settings/Settings.d.ts +18 -0
  397. package/Libraries/Share/NativeShareModule.js +1 -0
  398. package/Libraries/Share/Share.d.ts +80 -0
  399. package/Libraries/Share/Share.js +7 -5
  400. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  401. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  402. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  403. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  404. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
  405. package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
  406. package/Libraries/StyleSheet/StyleSheet.js +15 -11
  407. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
  408. package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
  409. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
  410. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  411. package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
  412. package/Libraries/StyleSheet/processAspectRatio.js +53 -0
  413. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  414. package/Libraries/StyleSheet/processColor.js +3 -4
  415. package/Libraries/StyleSheet/processColorArray.js +1 -0
  416. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  417. package/Libraries/StyleSheet/processTransform.js +114 -105
  418. package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
  419. package/Libraries/Text/Text.d.ts +209 -0
  420. package/Libraries/Text/Text.js +94 -12
  421. package/Libraries/Text/Text.windows.js +87 -11
  422. package/Libraries/Text/TextNativeComponent.js +49 -41
  423. package/Libraries/Text/TextProps.js +64 -7
  424. package/Libraries/TurboModule/RCTExport.d.ts +12 -0
  425. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  426. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
  427. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  428. package/Libraries/Types/CoreEventTypes.d.ts +263 -0
  429. package/Libraries/Types/CoreEventTypes.js +2 -1
  430. package/Libraries/Types/CoreEventTypes.windows.js +2 -1
  431. package/Libraries/Utilities/AcessibilityMapping.js +154 -0
  432. package/Libraries/Utilities/Appearance.d.ts +43 -0
  433. package/Libraries/Utilities/Appearance.js +3 -3
  434. package/Libraries/Utilities/BackHandler.android.js +3 -5
  435. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  436. package/Libraries/Utilities/BackHandler.windows.js +3 -5
  437. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  438. package/Libraries/Utilities/DevSettings.js +4 -2
  439. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  440. package/Libraries/Utilities/Dimensions.js +2 -2
  441. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
  442. package/Libraries/Utilities/HMRClient.js +23 -8
  443. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  444. package/Libraries/Utilities/NativeAppearance.js +1 -0
  445. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  446. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
  447. package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
  448. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  449. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  450. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  451. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
  452. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  453. package/Libraries/Utilities/Platform.android.js +11 -5
  454. package/Libraries/Utilities/Platform.d.ts +102 -0
  455. package/Libraries/Utilities/Platform.ios.js +12 -5
  456. package/Libraries/Utilities/Platform.windows.js +11 -5
  457. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  458. package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
  459. package/Libraries/Utilities/codegenNativeCommands.js +1 -10
  460. package/Libraries/Utilities/codegenNativeComponent.js +4 -1
  461. package/Libraries/Utilities/createPerformanceLogger.js +7 -8
  462. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  463. package/Libraries/Utilities/groupByEveryN.js +1 -1
  464. package/Libraries/Utilities/stringifySafe.js +3 -1
  465. package/Libraries/Utilities/useColorScheme.js +3 -2
  466. package/Libraries/Utilities/useRefEffect.js +1 -1
  467. package/Libraries/Vibration/NativeVibration.js +1 -0
  468. package/Libraries/Vibration/Vibration.d.ts +43 -0
  469. package/Libraries/Vibration/Vibration.js +1 -0
  470. package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
  471. package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
  472. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  473. package/Libraries/WebSocket/WebSocket.js +11 -3
  474. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  475. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  476. package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
  477. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
  478. package/Libraries/__tests__/ViewWindows-test.js +16 -0
  479. package/Libraries/platform-types.d.ts +17 -0
  480. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  481. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  482. package/Microsoft.ReactNative/ABIViewManager.cpp +19 -1
  483. package/Microsoft.ReactNative/ABIViewManager.h +9 -0
  484. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +4 -43
  485. package/Microsoft.ReactNative/Base/CoreNativeModules.h +0 -2
  486. package/Microsoft.ReactNative/CompositionContext.idl +31 -0
  487. package/Microsoft.ReactNative/CompositionHwndHost.idl +33 -0
  488. package/Microsoft.ReactNative/CompositionRootView.idl +45 -0
  489. package/Microsoft.ReactNative/CompositionSwitcher.idl +123 -0
  490. package/Microsoft.ReactNative/CompositionUIService.idl +24 -0
  491. package/Microsoft.ReactNative/Fabric/ComponentView.h +10 -0
  492. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +83 -0
  493. package/Microsoft.ReactNative/Fabric/{ComponentViewRegistry.h → Composition/ComponentViewRegistry.h} +9 -12
  494. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +816 -0
  495. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +33 -0
  496. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +833 -0
  497. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +116 -0
  498. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.cpp +137 -0
  499. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +44 -0
  500. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +145 -0
  501. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +49 -0
  502. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +359 -0
  503. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +81 -0
  504. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +27 -0
  505. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.h +23 -0
  506. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +1217 -0
  507. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +113 -0
  508. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +332 -0
  509. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +90 -0
  510. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +415 -0
  511. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +62 -0
  512. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +355 -0
  513. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +103 -0
  514. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +177 -0
  515. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1076 -0
  516. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +99 -0
  517. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputEventEmitter.cpp +0 -0
  518. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputEventEmitter.h +0 -0
  519. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputProps.cpp +1 -31
  520. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputProps.h +15 -28
  521. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputShadowNode.cpp +16 -14
  522. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputShadowNode.h +3 -3
  523. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputState.cpp +27 -10
  524. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputState.h +5 -16
  525. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -157
  526. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +10 -9
  527. package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +34 -0
  528. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +5 -7
  529. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +23 -8
  530. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +35 -0
  531. package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +125 -0
  532. package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +20 -0
  533. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +5 -0
  534. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +5 -0
  535. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +4 -6
  536. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +17 -0
  537. package/Microsoft.ReactNative/INativeUIManager.h +1 -1
  538. package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -9
  539. package/Microsoft.ReactNative/IViewManager.idl +14 -0
  540. package/Microsoft.ReactNative/IViewManagerCore.idl +1 -0
  541. package/Microsoft.ReactNative/JsiApi.cpp +94 -0
  542. package/Microsoft.ReactNative/JsiApi.h +13 -0
  543. package/Microsoft.ReactNative/JsiApi.idl +13 -0
  544. package/Microsoft.ReactNative/LayoutService.cpp +51 -0
  545. package/Microsoft.ReactNative/LayoutService.h +32 -0
  546. package/Microsoft.ReactNative/LayoutService.idl +41 -0
  547. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +32 -20
  548. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +11 -1
  549. package/Microsoft.ReactNative/Modules/Animated/AdditionAnimatedNode.cpp +33 -16
  550. package/Microsoft.ReactNative/Modules/Animated/AdditionAnimatedNode.h +3 -2
  551. package/Microsoft.ReactNative/Modules/Animated/AnimatedNode.cpp +17 -2
  552. package/Microsoft.ReactNative/Modules/Animated/AnimatedNode.h +19 -1
  553. package/Microsoft.ReactNative/Modules/Animated/AnimatedPlatformConfig.cpp +23 -0
  554. package/Microsoft.ReactNative/Modules/Animated/AnimatedPlatformConfig.h +17 -0
  555. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.cpp +49 -18
  556. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.h +29 -7
  557. package/Microsoft.ReactNative/Modules/Animated/AnimationUtils.h +45 -0
  558. package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.cpp +6 -5
  559. package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.h +1 -3
  560. package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.cpp +31 -5
  561. package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.h +3 -1
  562. package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.cpp +30 -15
  563. package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.h +4 -2
  564. package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.cpp +43 -20
  565. package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.h +3 -2
  566. package/Microsoft.ReactNative/Modules/Animated/EventAnimationDriver.cpp +2 -2
  567. package/Microsoft.ReactNative/Modules/Animated/EventAnimationDriver.h +1 -1
  568. package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.cpp +45 -8
  569. package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.h +7 -2
  570. package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.cpp +76 -38
  571. package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.h +6 -5
  572. package/Microsoft.ReactNative/Modules/Animated/ModulusAnimatedNode.cpp +25 -13
  573. package/Microsoft.ReactNative/Modules/Animated/ModulusAnimatedNode.h +4 -2
  574. package/Microsoft.ReactNative/Modules/Animated/MultiplicationAnimatedNode.cpp +33 -16
  575. package/Microsoft.ReactNative/Modules/Animated/MultiplicationAnimatedNode.h +3 -2
  576. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +245 -209
  577. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +91 -41
  578. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +336 -82
  579. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +33 -10
  580. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +185 -57
  581. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +28 -5
  582. package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.cpp +72 -20
  583. package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.h +8 -4
  584. package/Microsoft.ReactNative/Modules/Animated/StyleAnimatedNode.cpp +20 -5
  585. package/Microsoft.ReactNative/Modules/Animated/StyleAnimatedNode.h +3 -2
  586. package/Microsoft.ReactNative/Modules/Animated/SubtractionAnimatedNode.cpp +42 -20
  587. package/Microsoft.ReactNative/Modules/Animated/SubtractionAnimatedNode.h +3 -1
  588. package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.cpp +20 -11
  589. package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.h +5 -6
  590. package/Microsoft.ReactNative/Modules/Animated/TransformAnimatedNode.cpp +36 -9
  591. package/Microsoft.ReactNative/Modules/Animated/TransformAnimatedNode.h +5 -2
  592. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.cpp +60 -32
  593. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +11 -4
  594. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +58 -37
  595. package/Microsoft.ReactNative/Modules/AppearanceModule.h +25 -32
  596. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +3 -1
  597. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +42 -10
  598. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +157 -39
  599. package/Microsoft.ReactNative/Modules/LogBoxModule.h +6 -0
  600. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +72 -85
  601. package/Microsoft.ReactNative/Modules/NativeUIManager.h +8 -4
  602. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +7 -19
  603. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +1 -0
  604. package/Microsoft.ReactNative/Modules/TimingModule.cpp +48 -87
  605. package/Microsoft.ReactNative/Modules/TimingModule.h +20 -30
  606. package/Microsoft.ReactNative/QuirkSettings.cpp +22 -0
  607. package/Microsoft.ReactNative/QuirkSettings.h +9 -0
  608. package/Microsoft.ReactNative/QuirkSettings.idl +7 -0
  609. package/Microsoft.ReactNative/ReactCoreInjection.cpp +7 -2
  610. package/Microsoft.ReactNative/ReactCoreInjection.h +4 -1
  611. package/Microsoft.ReactNative/ReactCoreInjection.idl +4 -1
  612. package/Microsoft.ReactNative/ReactHost/React.h +0 -3
  613. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +28 -23
  614. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -3
  615. package/Microsoft.ReactNative/ReactNativeHost.cpp +2 -1
  616. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +8 -3
  617. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -3
  618. package/Microsoft.ReactNative/ReactRootView.cpp +3 -75
  619. package/Microsoft.ReactNative/ReactRootView.h +0 -6
  620. package/Microsoft.ReactNative/ReactRootView.idl +1 -9
  621. package/Microsoft.ReactNative/RedBox.cpp +69 -8
  622. package/Microsoft.ReactNative/RedBox.h +2 -0
  623. package/Microsoft.ReactNative/RedBoxHandler.cpp +3 -1
  624. package/Microsoft.ReactNative/Utils/Helpers.cpp +13 -0
  625. package/Microsoft.ReactNative/Utils/Helpers.h +1 -0
  626. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +94 -0
  627. package/Microsoft.ReactNative/Utils/ImageUtils.h +35 -0
  628. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +3 -2
  629. package/Microsoft.ReactNative/Utils/PropertyUtils.h +31 -9
  630. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +19 -0
  631. package/Microsoft.ReactNative/Views/ControlViewManager.h +7 -0
  632. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +8 -4
  633. package/Microsoft.ReactNative/Views/ICompositionRootView.h +19 -0
  634. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +14 -0
  635. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +7 -0
  636. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +8 -76
  637. package/Microsoft.ReactNative/Views/Image/ReactImage.h +1 -23
  638. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +16 -3
  639. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -2
  640. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +1 -3
  641. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +10 -1
  642. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -12
  643. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +2 -4
  644. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -7
  645. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +58 -42
  646. package/Microsoft.ReactNative/Views/TextViewManager.cpp +47 -31
  647. package/Microsoft.ReactNative/Views/TextViewManager.h +2 -0
  648. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +22 -247
  649. package/Microsoft.ReactNative/Views/TouchEventHandler.h +1 -6
  650. package/Microsoft.ReactNative/Views/ViewControl.cpp +2 -2
  651. package/Microsoft.ReactNative/Views/ViewControl.h +1 -1
  652. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +25 -13
  653. package/Microsoft.ReactNative/Views/ViewManagerBase.h +4 -0
  654. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +74 -35
  655. package/Microsoft.ReactNative/Views/ViewViewManager.h +1 -0
  656. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +4 -4
  657. package/Microsoft.ReactNative/XamlHelper.cpp +13 -0
  658. package/Microsoft.ReactNative/XamlHelper.h +4 -0
  659. package/Microsoft.ReactNative/XamlHelper.idl +9 -0
  660. package/Microsoft.ReactNative/XamlUIService.cpp +16 -0
  661. package/Microsoft.ReactNative/XamlUIService.h +2 -0
  662. package/Microsoft.ReactNative/XamlUIService.idl +4 -0
  663. package/Microsoft.ReactNative/XamlView.cpp +10 -0
  664. package/Microsoft.ReactNative/XamlView.h +7 -2
  665. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +76 -0
  666. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +13 -0
  667. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +71 -2
  668. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
  669. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +1 -2
  670. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +14 -4
  671. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +5 -2
  672. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +2 -0
  673. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +1 -2
  674. package/Microsoft.ReactNative.Managed/IReactPromise.cs +0 -20
  675. package/Microsoft.ReactNative.Managed/JSValue.cs +1 -1
  676. package/Microsoft.ReactNative.Managed/JSValueReader.cs +438 -444
  677. package/Microsoft.ReactNative.Managed/JSValueWriter.cs +8 -7
  678. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +22 -7
  679. package/Microsoft.ReactNative.Managed/ReactAttributes.cs +16 -0
  680. package/Microsoft.ReactNative.Managed/ReactConstantProvider.cs +5 -0
  681. package/Microsoft.ReactNative.Managed/ReactContext.cs +19 -2
  682. package/Microsoft.ReactNative.Managed/ReactDispatcher.cs +34 -0
  683. package/Microsoft.ReactNative.Managed/ReactError.cs +36 -0
  684. package/Microsoft.ReactNative.Managed/ReactNotificationArgsOf.cs +23 -0
  685. package/Microsoft.ReactNative.Managed/ReactNotificationHandlerOf.cs +7 -0
  686. package/Microsoft.ReactNative.Managed/ReactNotificationIdOf.cs +44 -0
  687. package/Microsoft.ReactNative.Managed/ReactNotificationService.cs +146 -0
  688. package/Microsoft.ReactNative.Managed/ReactNotificationSubscription.cs +43 -0
  689. package/Microsoft.ReactNative.Managed/ReactNotificationSubscriptionRevoker.cs +64 -0
  690. package/Microsoft.ReactNative.Managed/ReactPromise.cs +123 -81
  691. package/Microsoft.ReactNative.Managed/ReactPropertyBag.cs +91 -0
  692. package/Microsoft.ReactNative.Managed/ReactPropertyIdOf.cs +44 -0
  693. package/Microsoft.ReactNative.Managed/ReactPropertyName.cs +39 -0
  694. package/Microsoft.ReactNative.Managed/ReactPropertyNamespace.cs +26 -0
  695. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +44 -0
  696. package/Microsoft.ReactNative.Managed/ReactTaskExtensions.cs +15 -4
  697. package/Microsoft.ReactNative.Managed/packages.lock.json +51 -2
  698. package/Microsoft.ReactNative.Managed.CodeGen/App.cs +1 -1
  699. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +793 -731
  700. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +81 -44
  701. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Serializers.cs +57 -18
  702. package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +36 -4
  703. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +5 -5
  704. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +3 -3
  705. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactGetConstants.cs +17 -0
  706. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactMethod.cs +11 -2
  707. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactModule.cs +2 -0
  708. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +10 -4
  709. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +1 -1
  710. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +1 -1
  711. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +29 -3
  712. package/Microsoft.ReactNative.Managed.CodeGen/SyntaxHelpers.cs +6 -0
  713. package/Mso/smartPtr/cntPtr.h +21 -21
  714. package/PropertySheets/Codegen.props +15 -0
  715. package/PropertySheets/Codegen.targets +19 -0
  716. package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
  717. package/PropertySheets/External/Microsoft.ReactNative.CSharp.Dependencies.props +17 -0
  718. package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
  719. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +0 -3
  720. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.props +1 -0
  721. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +3 -0
  722. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpLib.targets +1 -0
  723. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.props +1 -0
  724. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +3 -0
  725. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppLib.targets +1 -0
  726. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +11 -0
  727. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +1 -0
  728. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +51 -0
  729. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +10 -1
  730. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  731. package/PropertySheets/JSEngine.props +10 -3
  732. package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  733. package/PropertySheets/NewAPIDeclarations.props +25 -0
  734. package/PropertySheets/React.Cpp.props +2 -2
  735. package/PropertySheets/WinUI.props +1 -1
  736. package/README.md +2 -2
  737. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +2 -1
  738. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +182 -0
  739. package/ReactCommon/Yoga.cpp +76 -29
  740. package/Scripts/IntegrationTests.ps1 +1 -1
  741. package/Scripts/JustMyXaml.ps1 +8 -8
  742. package/Scripts/Microsoft.ReactNative.Managed.nuspec +1 -1
  743. package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +3 -3
  744. package/Scripts/OfficeReact.Win32.nuspec +2 -0
  745. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +31 -1
  746. package/Scripts/UnitTest.ps1 +1 -1
  747. package/Scripts/rnw-dependencies.ps1 +317 -162
  748. package/Shared/Composition/CompositionSwitcher.interop.h +39 -0
  749. package/Shared/HermesShim.h +1 -1
  750. package/Shared/JSI/ChakraRuntime.cpp +42 -0
  751. package/Shared/JSI/ChakraRuntime.h +13 -0
  752. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +0 -2
  753. package/Shared/Modules/HttpModule.cpp +19 -4
  754. package/Shared/Networking/IHttpResource.h +126 -0
  755. package/Shared/Networking/IWebSocketResource.h +1 -0
  756. package/Shared/Networking/OriginPolicyHttpFilter.cpp +6 -6
  757. package/Shared/Networking/WinRTHttpResource.cpp +161 -32
  758. package/Shared/Networking/WinRTHttpResource.h +10 -0
  759. package/Shared/OInstance.cpp +4 -8
  760. package/Shared/Shared.vcxitems +37 -5
  761. package/Shared/Shared.vcxitems.filters +1 -12
  762. package/Shared/V8JSIRuntimeHolder.h +0 -2
  763. package/codegen/NativeAccessibilityInfoSpec.g.h +12 -12
  764. package/codegen/NativeAccessibilityManagerSpec.g.h +37 -31
  765. package/codegen/NativeActionSheetManagerSpec.g.h +6 -6
  766. package/codegen/NativeAlertManagerSpec.g.h +4 -2
  767. package/codegen/NativeAnimatedModuleSpec.g.h +48 -48
  768. package/codegen/NativeAnimatedTurboModuleSpec.g.h +48 -48
  769. package/codegen/NativeAnimationsDebugModuleSpec.g.h +4 -4
  770. package/codegen/NativeAppStateSpec.g.h +6 -6
  771. package/codegen/NativeAppearanceSpec.g.h +6 -6
  772. package/codegen/NativeBlobModuleSpec.g.h +12 -12
  773. package/codegen/NativeBugReportingSpec.g.h +6 -6
  774. package/codegen/NativeClipboardSpec.g.h +4 -4
  775. package/codegen/NativeDatePickerAndroidSpec.g.h +2 -2
  776. package/codegen/NativeDevLoadingViewSpec.g.h +4 -4
  777. package/codegen/NativeDevMenuSpec.g.h +10 -10
  778. package/codegen/NativeDevSettingsSpec.g.h +22 -22
  779. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +2 -2
  780. package/codegen/NativeDeviceEventManagerSpec.g.h +2 -2
  781. package/codegen/NativeDialogManagerAndroidSpec.g.h +2 -2
  782. package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -2
  783. package/codegen/NativeExceptionsManagerSpec.g.h +10 -10
  784. package/codegen/NativeFileReaderModuleSpec.g.h +4 -4
  785. package/codegen/NativeFrameRateLoggerSpec.g.h +8 -8
  786. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +4 -4
  787. package/codegen/NativeI18nManagerSpec.g.h +6 -6
  788. package/codegen/NativeImageEditorSpec.g.h +2 -2
  789. package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -10
  790. package/codegen/NativeImageLoaderIOSSpec.g.h +10 -10
  791. package/codegen/NativeImageStoreAndroidSpec.g.h +2 -2
  792. package/codegen/NativeImageStoreIOSSpec.g.h +8 -8
  793. package/codegen/NativeIntentAndroidSpec.g.h +10 -10
  794. package/codegen/NativeJSCHeapCaptureSpec.g.h +2 -2
  795. package/codegen/NativeJSCSamplingProfilerSpec.g.h +2 -2
  796. package/codegen/NativeKeyboardObserverSpec.g.h +4 -4
  797. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  798. package/codegen/NativeLogBoxSpec.g.h +4 -4
  799. package/codegen/NativeModalManagerSpec.g.h +4 -4
  800. package/codegen/NativeNetworkingAndroidSpec.g.h +10 -10
  801. package/codegen/NativeNetworkingIOSSpec.g.h +10 -10
  802. package/codegen/NativePerformanceObserverSpec.g.h +69 -0
  803. package/codegen/NativePermissionsAndroidSpec.g.h +8 -8
  804. package/codegen/NativePlatformConstantsAndroidSpec.g.h +2 -2
  805. package/codegen/NativePushNotificationManagerIOSSpec.g.h +36 -36
  806. package/codegen/NativeRedBoxSpec.g.h +4 -4
  807. package/codegen/NativeSampleTurboModuleSpec.g.h +22 -22
  808. package/codegen/NativeSegmentFetcherSpec.g.h +4 -4
  809. package/codegen/NativeSettingsManagerSpec.g.h +4 -4
  810. package/codegen/NativeShareModuleSpec.g.h +2 -2
  811. package/codegen/NativeSoundManagerSpec.g.h +2 -2
  812. package/codegen/NativeStatusBarManagerAndroidSpec.g.h +8 -8
  813. package/codegen/NativeStatusBarManagerIOSSpec.g.h +12 -12
  814. package/codegen/NativeTimingSpec.g.h +6 -6
  815. package/codegen/NativeToastAndroidSpec.g.h +6 -6
  816. package/codegen/NativeUIManagerSpec.g.h +50 -50
  817. package/codegen/NativeVibrationSpec.g.h +6 -6
  818. package/codegen/NativeWebSocketModuleSpec.g.h +14 -14
  819. package/codegen/react/components/rnwcore/ComponentDescriptors.h +3 -4
  820. package/codegen/react/components/rnwcore/EventEmitters.cpp +5 -4
  821. package/codegen/react/components/rnwcore/EventEmitters.h +21 -26
  822. package/codegen/react/components/rnwcore/Props.cpp +3 -10
  823. package/codegen/react/components/rnwcore/Props.h +19 -28
  824. package/codegen/react/components/rnwcore/ShadowNodes.cpp +3 -4
  825. package/codegen/react/components/rnwcore/ShadowNodes.h +36 -30
  826. package/codegen/react/components/rnwcore/States.cpp +18 -0
  827. package/codegen/react/components/rnwcore/States.h +156 -0
  828. package/codegen/rnwcoreJSI-generated.cpp +1670 -0
  829. package/codegen/rnwcoreJSI.h +5620 -0
  830. package/fmt/cgmanifest.json +1 -0
  831. package/fmt/fmt.vcxproj +2 -1
  832. package/index.js +89 -55
  833. package/index.windows.js +89 -55
  834. package/interface.js +8 -0
  835. package/jest/react-native-env.js +18 -0
  836. package/jest/renderer.js +2 -2
  837. package/jest/setup.js +7 -9
  838. package/just-task.js +5 -1
  839. package/package.json +37 -37
  840. package/template/cpp-app/proj/MyApp.sln +2 -2
  841. package/template/cpp-app/proj/MyApp.vcxproj +3 -3
  842. package/template/cpp-app/src/ReactPackageProvider.cpp +1 -1
  843. package/template/cpp-lib/proj/MyLib.sln +2 -2
  844. package/template/cpp-lib/proj/MyLib.vcxproj +3 -3
  845. package/template/cpp-lib/src/ReactPackageProvider.cpp +1 -1
  846. package/template/cs-app/proj/MyApp.csproj +10 -8
  847. package/template/cs-app/proj/MyApp.sln +2 -2
  848. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +3 -3
  849. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +2 -1
  850. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +19 -15
  851. package/template/cs-app-WinAppSDK/proj/MyApp.sln +2 -2
  852. package/template/cs-lib/proj/MyLib.csproj +14 -8
  853. package/template/cs-lib/proj/MyLib.sln +2 -2
  854. package/template/shared-app/proj/ExperimentalFeatures.props +2 -0
  855. package/template/shared-lib/proj/ExperimentalFeatures.props +2 -0
  856. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  857. package/Libraries/Components/MaskedView/MaskedViewIOS.windows.js +0 -9
  858. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  859. package/Libraries/Core/setUpSystrace.js +0 -21
  860. package/Libraries/Image/ImagePickerIOS.js +0 -103
  861. package/Libraries/Image/NativeImagePickerIOS.js +0 -38
  862. package/Libraries/Lists/VirtualizedList.windows.js +0 -9
  863. package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
  864. package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
  865. package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
  866. package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
  867. package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
  868. package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
  869. package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
  870. package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
  871. package/Libraries/Storage/AsyncStorage.js +0 -385
  872. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
  873. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
  874. package/Libraries/StyleSheet/processTransform.windows.js +0 -274
  875. package/Libraries/Utilities/JSDevSupportModule.js +0 -37
  876. package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
  877. package/Microsoft.ReactNative/Fabric/ActivityIndicatorComponentView.cpp +0 -81
  878. package/Microsoft.ReactNative/Fabric/ActivityIndicatorComponentView.h +0 -46
  879. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +0 -118
  880. package/Microsoft.ReactNative/Fabric/ImageComponentView.cpp +0 -138
  881. package/Microsoft.ReactNative/Fabric/ImageComponentView.h +0 -49
  882. package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +0 -160
  883. package/Microsoft.ReactNative/Fabric/ParagraphComponentView.h +0 -40
  884. package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +0 -200
  885. package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.h +0 -62
  886. package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +0 -107
  887. package/Microsoft.ReactNative/Fabric/SliderComponentView.h +0 -51
  888. package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +0 -109
  889. package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +0 -52
  890. package/Microsoft.ReactNative/Fabric/TextComponentView.cpp +0 -98
  891. package/Microsoft.ReactNative/Fabric/TextComponentView.h +0 -39
  892. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +0 -197
  893. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +0 -308
  894. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +0 -52
  895. package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +0 -229
  896. package/Microsoft.ReactNative/Fabric/ViewComponentView.h +0 -56
  897. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +0 -46
  898. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +0 -30
  899. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -145
  900. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -344
  901. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseTextProps.cpp +0 -313
  902. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -455
  903. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/PropsMacros.h +0 -91
  904. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/CompactValue.h +0 -206
  905. package/codegen/NativeAsyncLocalStorageSpec.g.h +0 -111
  906. package/codegen/NativeAsyncSQLiteDBStorageSpec.g.h +0 -111
  907. package/codegen/NativeImagePickerIOSSpec.g.h +0 -79
  908. package/codegen/NativeJSDevSupportSpec.g.h +0 -57
  909. package/rntypes/BatchedBridge.d.ts +0 -23
  910. package/rntypes/Devtools.d.ts +0 -20
  911. package/rntypes/LaunchScreen.d.ts +0 -9
  912. package/rntypes/globals.d.ts +0 -497
  913. package/rntypes/index.d.ts +0 -9754
  914. package/rntypes/legacy-properties.d.ts +0 -238
  915. package/typings-index.d.ts +0 -19
  916. package/typings-index.js +0 -44
  917. package/typings-index.js.map +0 -1
@@ -539,13 +539,14 @@ namespace Microsoft.ReactNative.Managed
539
539
  }
540
540
  }
541
541
 
542
- static class JSValueWriterOf<T>
542
+ public static class JSValueWriterOf<T>
543
543
  {
544
- public static WriteValueDelegate<T> WriteValue = JSValueWriter.GetWriteValueDelegate<T>();
545
- }
546
-
547
- public static class JSValueWriterCodeGen<T>
548
- {
549
- public static WriteValueDelegate<T> WriteValue { get; set; }
544
+ private static WriteValueDelegate<T> s_writeValue = null;
545
+
546
+ public static WriteValueDelegate<T> WriteValue
547
+ {
548
+ get { return s_writeValue ?? (s_writeValue = JSValueWriter.GetWriteValueDelegate<T>()); }
549
+ set { s_writeValue = value; }
550
+ }
550
551
  }
551
552
  }
@@ -15,12 +15,13 @@
15
15
  <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
16
16
  <TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.19041.0</TargetPlatformVersion>
17
17
  <TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion>
18
- <MinimumVisualStudioVersion>16</MinimumVisualStudioVersion>
18
+ <MinimumVisualStudioVersion>17.0</MinimumVisualStudioVersion>
19
19
  <FileAlignment>512</FileAlignment>
20
20
  <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
21
21
  <DocumentationFile>bin\$(Platform)\$(Configuration)\Microsoft.ReactNative.Managed.XML</DocumentationFile>
22
22
  <Deterministic>true</Deterministic>
23
23
  <ProduceReferenceAssembly>true</ProduceReferenceAssembly>
24
+ <ProduceReferenceAssemblyInOutDir>true</ProduceReferenceAssemblyInOutDir>
24
25
  <NoWarn>;2008</NoWarn>
25
26
  <NoWarn>$(NoWarn);1591</NoWarn>
26
27
  <!-- Missing XML comment for publicly visible type or member -->
@@ -77,8 +78,9 @@
77
78
  <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
78
79
  <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
79
80
  </PropertyGroup>
80
- <Import Project="..\PropertySheets\NuGet.CSharp.props" />
81
- <Import Project="..\PropertySheets\WinUI.props" />
81
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\NuGet.CSharp.props" />
82
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\WinUI.props" />
83
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CSharp.Dependencies.props" />
82
84
  <ItemGroup>
83
85
  <Compile Include="AttributedViewManager.cs" />
84
86
  <Compile Include="IJSValueTreeReader.cs" />
@@ -99,6 +101,19 @@
99
101
  <Compile Include="ReactConstantProviderInfo.cs" />
100
102
  <Compile Include="ReactContext.cs" />
101
103
  <Compile Include="ReactContextGenerator.cs" />
104
+ <Compile Include="ReactError.cs" />
105
+ <Compile Include="ReactNotificationArgsOf.cs" />
106
+ <Compile Include="ReactNotificationHandlerOf.cs" />
107
+ <Compile Include="ReactNotificationService.cs" />
108
+ <Compile Include="ReactNotificationSubscriptionRevoker.cs" />
109
+ <Compile Include="ReactPropertyBag.cs" />
110
+ <Compile Include="ReactNotificationIdOf.cs" />
111
+ <Compile Include="ReactPropertyIdOf.cs" />
112
+ <Compile Include="ReactDispatcher.cs" />
113
+ <Compile Include="ReactNotificationSubscription.cs" />
114
+ <Compile Include="ReactSettingsSnapshot.cs" />
115
+ <Compile Include="ReactPropertyName.cs" />
116
+ <Compile Include="ReactPropertyNamespace.cs" />
102
117
  <Compile Include="ReactTaskExtensions.cs" />
103
118
  <Compile Include="ReactEnumerableExtensions.cs" />
104
119
  <Compile Include="ReactEventInfo.cs" />
@@ -123,9 +138,9 @@
123
138
  <Name>Microsoft.ReactNative</Name>
124
139
  </ProjectReference>
125
140
  <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
126
- <Version>6.2.9</Version>
141
+ <Version>$(NETCoreUWPVersion)</Version>
127
142
  </PackageReference>
128
- <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
143
+ <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
129
144
  </ItemGroup>
130
145
  <!--
131
146
  Visual Studio (but not MSBuild) will ignore Conditions applied directly to
@@ -141,8 +156,8 @@
141
156
  </ItemGroup>
142
157
  </When>
143
158
  </Choose>
144
- <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '16.0' ">
145
- <VisualStudioVersion>16.0</VisualStudioVersion>
159
+ <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '17.0' ">
160
+ <VisualStudioVersion>17.0</VisualStudioVersion>
146
161
  </PropertyGroup>
147
162
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
148
163
  <Target Name="Deploy" />
@@ -42,6 +42,11 @@ namespace Microsoft.ReactNative.Managed
42
42
  {
43
43
  }
44
44
 
45
+ [AttributeUsage(AttributeTargets.Method)]
46
+ public class ReactGetConstantsAttribute : Attribute
47
+ {
48
+ }
49
+
45
50
  [AttributeUsage(AttributeTargets.Method)]
46
51
  public class ReactMethodAttribute : Attribute
47
52
  {
@@ -89,4 +94,15 @@ namespace Microsoft.ReactNative.Managed
89
94
 
90
95
  public string ModuleName { get; set; }
91
96
  }
97
+
98
+ [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
99
+ public class ReactPropertyAttribute : Attribute
100
+ {
101
+ public ReactPropertyAttribute(string propertyName = null)
102
+ {
103
+ PropertyName = propertyName;
104
+ }
105
+
106
+ public string PropertyName { get; set; }
107
+ }
92
108
  }
@@ -16,5 +16,10 @@ namespace Microsoft.ReactNative.Managed
16
16
  {
17
17
  Writer.WriteObjectProperty(constantName, value);
18
18
  }
19
+
20
+ public void WriteProperties<T>(T value)
21
+ {
22
+ Writer.WriteObjectProperties(value);
23
+ }
19
24
  }
20
25
  }
@@ -2,6 +2,7 @@
2
2
  // Licensed under the MIT License.
3
3
 
4
4
  #if !USE_WINUI3
5
+ using System.Reflection.Metadata;
5
6
  using Windows.UI.Xaml;
6
7
  #else
7
8
  using Microsoft.UI.Xaml;
@@ -11,13 +12,29 @@ namespace Microsoft.ReactNative.Managed
11
12
  {
12
13
  public struct ReactContext
13
14
  {
15
+ public IReactContext Handle { get; }
16
+
17
+ public bool IsValid => Handle != null;
18
+
19
+ public static explicit operator bool(ReactContext context) => context.IsValid;
20
+
21
+ public ReactPropertyBag Properties => new ReactPropertyBag(Handle.Properties);
22
+
23
+ public ReactNotificationService Notifications => new ReactNotificationService(Handle.Notifications);
24
+
25
+ public ReactDispatcher UIDispatcher => new ReactDispatcher(Handle.UIDispatcher);
26
+
27
+ public ReactDispatcher JSDispatcher => new ReactDispatcher(Handle.JSDispatcher);
28
+
29
+ public LoadingState LoadingState => Handle.LoadingState;
30
+
31
+ public ReactSettingsSnapshot SettingsSnapshot => new ReactSettingsSnapshot(Handle.SettingsSnapshot);
32
+
14
33
  public ReactContext(IReactContext handle)
15
34
  {
16
35
  Handle = handle;
17
36
  }
18
37
 
19
- public IReactContext Handle { get; }
20
-
21
38
  public void DispatchEvent<T>(FrameworkElement view, string eventName, T arg)
22
39
  {
23
40
  var argWriter = arg as JSValueArgWriter;
@@ -0,0 +1,34 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ namespace Microsoft.ReactNative.Managed
5
+ {
6
+ public struct ReactDispatcher
7
+ {
8
+ public bool HasThreadAccess => IsValid ? Handle.HasThreadAccess : false;
9
+
10
+ public IReactDispatcher Handle { get; }
11
+
12
+ public bool IsValid => Handle != null;
13
+
14
+ public static explicit operator bool(ReactDispatcher dispatcher) => dispatcher.IsValid;
15
+
16
+ public ReactDispatcher(IReactDispatcher handle = null)
17
+ {
18
+ Handle = handle;
19
+ }
20
+
21
+ public void Post(ReactDispatcherCallback callback)
22
+ {
23
+ if (IsValid)
24
+ {
25
+ Handle.Post(callback);
26
+ }
27
+ }
28
+
29
+ public static ReactDispatcher CreateSerialDispatcher()
30
+ {
31
+ return new ReactDispatcher(ReactDispatcherHelper.CreateSerialDispatcher());
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,36 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ using System;
5
+ using System.Collections.Generic;
6
+
7
+ namespace Microsoft.ReactNative.Managed
8
+ {
9
+ public struct ReactError
10
+ {
11
+ public string Code { get; set; }
12
+ public string Message { get; set; }
13
+ public Exception Exception { get; set; }
14
+ public IReadOnlyDictionary<string, JSValue> UserInfo { get; set; }
15
+
16
+ public ReactError(string code, string message, Exception exception = null, IReadOnlyDictionary<string, JSValue> userInfo = null)
17
+ {
18
+ Code = code ?? DefaultCode;
19
+ Message = message ?? DefaultMessage;
20
+ Exception = exception;
21
+ UserInfo = userInfo;
22
+ }
23
+
24
+ public ReactError(string message, Exception exception = null, IReadOnlyDictionary<string, JSValue> userInfo = null)
25
+ : this(null, message, exception, userInfo) { }
26
+
27
+ public static readonly string DefaultCode = "EUNSPECIFIED";
28
+ public static readonly string DefaultMessage = "Error not specified.";
29
+
30
+ // Keys for m_reject's Error object
31
+ public static readonly string CodeKey = "code";
32
+ public static readonly string MessageKey = "message";
33
+ public static readonly string UserInfoKey = "userInfo";
34
+ public static readonly string NativeStackKey = "nativeStackWindows";
35
+ }
36
+ }
@@ -0,0 +1,23 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ namespace Microsoft.ReactNative.Managed
5
+ {
6
+ public struct ReactNotificationArgs<T>
7
+ {
8
+ public ReactNotificationSubscription Subscription => new ReactNotificationSubscription(IsValid ? Handle.Subscription : null);
9
+
10
+ public T Data => IsValid ? (T)Handle.Data : default(T);
11
+
12
+ public IReactNotificationArgs Handle { get; }
13
+
14
+ public bool IsValid => Handle != null;
15
+
16
+ public static explicit operator bool(ReactNotificationArgs<T> args) => args.IsValid;
17
+
18
+ public ReactNotificationArgs(IReactNotificationArgs handle = null)
19
+ {
20
+ Handle = handle;
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,7 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ namespace Microsoft.ReactNative.Managed
5
+ {
6
+ public delegate void ReactNotificationHandler<T>(object sender, ReactNotificationArgs<T> args);
7
+ }
@@ -0,0 +1,44 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ using System;
5
+
6
+ namespace Microsoft.ReactNative.Managed
7
+ {
8
+ public struct ReactNotificationId<T>
9
+ {
10
+ public ReactPropertyName NotificationName { get; }
11
+
12
+ public ReactPropertyNamespace Namespace => NotificationName.Namespace;
13
+
14
+ public string NamespaceName => NotificationName.NamespaceName;
15
+
16
+ public string LocalName => NotificationName.LocalName;
17
+
18
+ public IReactPropertyName Handle => NotificationName.Handle;
19
+
20
+ public bool IsValid => NotificationName.IsValid;
21
+
22
+ public static explicit operator bool(ReactNotificationId<T> notificationId) => notificationId.IsValid;
23
+
24
+ public ReactNotificationId(ReactPropertyName propertyName)
25
+ {
26
+ NotificationName = propertyName;
27
+ }
28
+
29
+ public ReactNotificationId(IReactPropertyName handle = null)
30
+ : this(new ReactPropertyName(handle)) { }
31
+
32
+ public ReactNotificationId(string localName)
33
+ : this(new ReactPropertyName(localName)) { }
34
+
35
+ public ReactNotificationId(string namespaceName, string localName)
36
+ : this(new ReactPropertyName(namespaceName, localName)) { }
37
+
38
+ public ReactNotificationId(ReactPropertyNamespace ns, string localName)
39
+ : this(new ReactPropertyName(ns, localName)) { }
40
+
41
+ public ReactNotificationId(IReactPropertyNamespace ns, string localName)
42
+ : this(new ReactPropertyName(ns, localName)) { }
43
+ }
44
+ }
@@ -0,0 +1,146 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ namespace Microsoft.ReactNative.Managed
5
+ {
6
+ public struct ReactNotificationService
7
+ {
8
+ public IReactNotificationService Handle { get; }
9
+
10
+ public bool IsValid => Handle != null;
11
+
12
+ public static explicit operator bool(ReactNotificationService service) => service.IsValid;
13
+
14
+ public ReactNotificationService(IReactNotificationService handle = null)
15
+ {
16
+ Handle = handle;
17
+ }
18
+
19
+ public static ReactNotificationSubscriptionRevoker SubscribeWithAutoRevoke<T>(
20
+ IReactNotificationService handle,
21
+ ReactNotificationId<T> notificationId,
22
+ ReactDispatcher dispatcher,
23
+ ReactNotificationHandler<T> handler)
24
+ {
25
+ return new ReactNotificationSubscriptionRevoker(Subscribe<T>(handle, notificationId, dispatcher, handler));
26
+ }
27
+
28
+ public static ReactNotificationSubscriptionRevoker SubscribeWithAutoRevoke<T>(
29
+ IReactNotificationService handle,
30
+ ReactNotificationId<T> notificationId,
31
+ ReactNotificationHandler<T> handler)
32
+ {
33
+ return new ReactNotificationSubscriptionRevoker(Subscribe<T>(handle, notificationId, new ReactDispatcher(null), handler));
34
+ }
35
+
36
+ public ReactNotificationSubscriptionRevoker SubscribeWithAutoRevoke<T>(
37
+ ReactNotificationId<T> notificationId,
38
+ ReactDispatcher dispatcher,
39
+ ReactNotificationHandler<T> handler)
40
+ {
41
+ return SubscribeWithAutoRevoke(Handle, notificationId, dispatcher, handler);
42
+ }
43
+
44
+ public ReactNotificationSubscriptionRevoker SubscribeWithAutoRevoke<T>(
45
+ ReactNotificationId<T> notificationId,
46
+ ReactNotificationHandler<T> handler)
47
+ {
48
+ return SubscribeWithAutoRevoke(Handle, notificationId, handler);
49
+ }
50
+
51
+ public static ReactNotificationSubscription Subscribe<T>(
52
+ IReactNotificationService handle,
53
+ ReactNotificationId<T> notificationId,
54
+ ReactDispatcher dispatcher,
55
+ ReactNotificationHandler<T> handler)
56
+ {
57
+ IReactNotificationSubscription subscriptionHandle = handle?.Subscribe(
58
+ notificationId.Handle,
59
+ dispatcher.Handle,
60
+ (sender, args) => handler(sender, new ReactNotificationArgs<T>(args)));
61
+ return new ReactNotificationSubscription(subscriptionHandle);
62
+ }
63
+
64
+ public static ReactNotificationSubscription Subscribe<T>(
65
+ IReactNotificationService handle,
66
+ ReactNotificationId<T> notificationId,
67
+ ReactNotificationHandler<T> handler)
68
+ {
69
+ return Subscribe<T>(handle, notificationId, new ReactDispatcher(null), handler);
70
+ }
71
+
72
+ public ReactNotificationSubscription Subscribe<T>(
73
+ ReactNotificationId<T> notificationId,
74
+ ReactDispatcher dispatcher,
75
+ ReactNotificationHandler<T> handler)
76
+ {
77
+ return Subscribe(Handle, notificationId, dispatcher, handler);
78
+ }
79
+
80
+ public ReactNotificationSubscription Subscribe<T>(
81
+ ReactNotificationId<T> notificationId,
82
+ ReactNotificationHandler<T> handler)
83
+ {
84
+ return Subscribe(Handle, notificationId, handler);
85
+ }
86
+
87
+ public static void SendNotification<T>(
88
+ IReactNotificationService handle,
89
+ ReactNotificationId<T> notificationId,
90
+ object sender,
91
+ T value)
92
+ {
93
+ handle?.SendNotification(notificationId.Handle, sender, value);
94
+ }
95
+
96
+ public static void SendNotification<T>(
97
+ IReactNotificationService handle,
98
+ ReactNotificationId<T> notificationId,
99
+ object sender)
100
+ {
101
+ handle?.SendNotification(notificationId.Handle, sender, null);
102
+ }
103
+
104
+ public static void SendNotification<T>(
105
+ IReactNotificationService handle,
106
+ ReactNotificationId<T> notificationId,
107
+ T value)
108
+ {
109
+ handle?.SendNotification(notificationId.Handle, null, value);
110
+ }
111
+
112
+ public static void SendNotification<T>(
113
+ IReactNotificationService handle,
114
+ ReactNotificationId<T> notificationId)
115
+ {
116
+ handle?.SendNotification(notificationId.Handle, null, null);
117
+ }
118
+
119
+ public void SendNotification<T>(
120
+ ReactNotificationId<T> notificationId,
121
+ object sender,
122
+ T value)
123
+ {
124
+ SendNotification(Handle, notificationId, sender, value);
125
+ }
126
+
127
+ public void SendNotification<T>(
128
+ ReactNotificationId<T> notificationId,
129
+ object sender)
130
+ {
131
+ SendNotification(Handle, notificationId, sender);
132
+ }
133
+
134
+ public void SendNotification<T>(
135
+ ReactNotificationId<T> notificationId,
136
+ T value)
137
+ {
138
+ SendNotification(Handle, notificationId, value);
139
+ }
140
+
141
+ public void SendNotification<T>(ReactNotificationId<T> notificationId)
142
+ {
143
+ SendNotification(Handle, notificationId);
144
+ }
145
+ }
146
+ }
@@ -0,0 +1,43 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ namespace Microsoft.ReactNative.Managed
5
+ {
6
+ public struct ReactNotificationSubscription
7
+ {
8
+ public ReactDispatcher Dispatcher => new ReactDispatcher(IsValid ? Handle.Dispatcher : null);
9
+
10
+ // Name of the notification.
11
+ public ReactPropertyName NotificationName => new ReactPropertyName(IsValid ? Handle.NotificationName : null);
12
+
13
+ public ReactNotificationService NotificationService => new ReactNotificationService(IsValid ? Handle.NotificationService : null);
14
+
15
+ // True if the subscription is still active.
16
+ // This property is checked before notification handler is invoked.
17
+ public bool IsSubscribed => IsValid ? Handle.IsSubscribed : false;
18
+
19
+ public IReactNotificationSubscription Handle { get; }
20
+
21
+ public bool IsValid => Handle != null;
22
+
23
+ public static explicit operator bool(ReactNotificationSubscription subscription) => subscription.IsValid;
24
+
25
+ public ReactNotificationSubscription(IReactNotificationSubscription handle = null)
26
+ {
27
+ Handle = handle;
28
+ }
29
+
30
+ // Remove the subscription.
31
+ // Because of the multi-threaded nature of the notifications, the handler can be still called
32
+ // after the Unsubscribe method called if the IsSubscribed property is already checked.
33
+ // Consider calling the Unsubscribe method and the handler in the same IReactDispatcher
34
+ // to ensure that no handler is invoked after the Unsubscribe method call.
35
+ public void Unsubscribe()
36
+ {
37
+ if (IsValid)
38
+ {
39
+ Handle.Unsubscribe();
40
+ }
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,64 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ using System;
5
+
6
+ namespace Microsoft.ReactNative.Managed
7
+ {
8
+ public sealed class ReactNotificationSubscriptionRevoker : IDisposable
9
+ {
10
+ private bool isRevoked = false;
11
+
12
+ public ReactNotificationSubscription NotificationSubscription { get; }
13
+
14
+ public ReactDispatcher Dispatcher => NotificationSubscription.Dispatcher;
15
+
16
+ // Name of the notification.
17
+ public ReactPropertyName NotificationName => NotificationSubscription.NotificationName;
18
+
19
+ public ReactNotificationService NotificationService => NotificationSubscription.NotificationService;
20
+
21
+ // True if the subscription is still active.
22
+ // This property is checked before notification handler is invoked.
23
+ public bool IsSubscribed => NotificationSubscription.IsSubscribed;
24
+
25
+ public IReactNotificationSubscription Handle => NotificationSubscription.Handle;
26
+
27
+ public bool IsValid => NotificationSubscription.IsValid;
28
+
29
+ public static explicit operator bool(ReactNotificationSubscriptionRevoker subscriptionRevoker) => subscriptionRevoker.IsValid;
30
+
31
+ public ReactNotificationSubscriptionRevoker(ReactNotificationSubscription notificationSubscription)
32
+ {
33
+ NotificationSubscription = notificationSubscription;
34
+ }
35
+
36
+ public ReactNotificationSubscriptionRevoker(IReactNotificationSubscription handle = null)
37
+ : this(new ReactNotificationSubscription(handle)) { }
38
+
39
+ // Remove the subscription.
40
+ // Because of the multi-threaded nature of the notifications, the handler can be still called
41
+ // after the Unsubscribe method called if the IsSubscribed property is already checked.
42
+ // Consider calling the Unsubscribe method and the handler in the same IReactDispatcher
43
+ // to ensure that no handler is invoked after the Unsubscribe method call.
44
+ public void Unsubscribe()
45
+ {
46
+ if (!isRevoked)
47
+ {
48
+ isRevoked = true;
49
+ NotificationSubscription.Unsubscribe();
50
+ }
51
+ }
52
+
53
+ ~ReactNotificationSubscriptionRevoker()
54
+ {
55
+ Unsubscribe();
56
+ }
57
+
58
+ public void Dispose()
59
+ {
60
+ Unsubscribe();
61
+ GC.SuppressFinalize(this);
62
+ }
63
+ }
64
+ }